Tomcat + MySQL 乱码问题
问题的关键在于数据导出、导入时要做到所使用的字符集相一致:
1、mysqldump 的 default-character-set变量;
2、mysql 的--default-character-set变量;
3、mysqld的 Db characterset变量。
4. mysql>set names gbk --同时改变三个字符集相关的系统变量
例如:备份使用latin1字符集则恢复时也要使用该字符集并且数据库的缺省字符集也要是该字符集,即latin1. 换成gbk也应该一样.
乱码的根源在于字符集的不一致:操作系统(Windows为gbk,Linux是UTF-8),数据库(CREATE DATABASE db_name
DEFAULT CHARACTER SET gbk 或者CREATE DATABASE db_name
DEFAULT CHARACTER SET latin1)使用图形界面是就更要注意其缺省配置。
PS:网易的工程师们出了一本叫《深入浅出MYSQL》的书,对此问题有透彻论述,大家不妨参考一下。