在linux下搭建网站的时候,乱码问题困扰了我差不多一个星期,后来终于解决了。
我的体会就是:应用必须和数据库的字符集(编码)相一致。具体地说,就是,如果你想使用gb2312编码,那就要保证:每一个jsp文件都是以gb2312编码存储的(在保存文件的时候选择gb2312编码就可以了),另外,文件头还要定义;关于数据库,创建数据库时就要定义编码,例如:create database mysql default character set gb2312 collate gb2312_chinese_ci;最后要做得就是,连接数据时,在相关文件中加入以下代码:
useUnicode=true&characterEncoding=gb2312。
要补充说明的是,在linux下,其实不用选择gb2312,我都用的是utf8,当然也需要按照以上步骤进行设置,肯定不会出现乱码!个人喜好,大家随意!
之前我试了很多方法,比如在/etc/sysconfig/i18n文件中改系统字体,在/etc/my.cnf中[mysqld]字段后加入如下语句default-character-set=gb2312等等,我觉得没有必要。
以上步骤看似很简单,但是我的失败教训,也是我的成功心得。现在与大家分享,看后有收获的,不顶一下就是你的不厚道了!
忘了,还有很关键的一点,jdbc千万要用适合的版本,之前我用的是3.0.9,发现不行,后来换用了3.0.16,就没问题了。