在linux下搭建網(wǎng)站的時候,亂碼問題困擾了我差不多一個星期,后來終于解決了。
我的體會就是:應(yīng)用必須和數(shù)據(jù)庫的字符集(編碼)相一致。
具體地說,就是,如果你想使用gb2312編碼,那就要保證:每一個jsp文件都是以gb2312編碼存儲的(在保存文件的時候選擇gb2312編碼就可以了),另外,文件頭還要定義;關(guān)于數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫時就要定義編碼,例如:create database MySQL default character set gb2312 collate gb2312_chinese_ci;最后要做得就是,連接數(shù)據(jù)時,在相關(guān)文件中加入以下代碼:
useUnicode=true&characterEncoding=gb2312。
要補(bǔ)充說明的是,在linux下,其實不用選擇gb2312,我都用的是utf8,當(dāng)然也需要按照以上步驟進(jìn)行設(shè)置,肯定不會出現(xiàn)亂碼!個人喜好,大家隨意!
之前我試了很多方法,比如在/etc/sysconfig/i18n文件中改系統(tǒng)字體,在/etc/my.cnf中[mysqld]字段后加入如下語句default-character-set=gb2312等等,我覺得沒有必要。
以上步驟看似很簡單,但是我的失敗教訓(xùn),也是我的成功心得。現(xiàn)在與大家分享,看后有收獲的,不頂一下就是你的不厚道了!
忘了,還有很關(guān)鍵的一點(diǎn),jdbc千萬要用適合的版本,之前我用的是3.0.9,發(fā)現(xiàn)不行,后來換用了3.0.16,就沒問題了。
新聞熱點(diǎn)
疑難解答
圖片精選