Java EE 系統(tǒng)中文問題解決方法
第一原則:所有編碼的地方,統(tǒng)一設為UTF-8,這樣繁體,簡體,日文,韓文……通吃了
一、下載中文文件名文件問題:
a)Tomcat:修改Tomcat安裝目錄下conf/server.xml文件,加上URIEncoding="UTF-8"/
﹤Connector port="8080" .... URIEncoding="UTF-8"/﹥
b)JBOSS :安裝目錄下 server/default/deploy/jbossweb-tomcat55.sar/server.xml
﹤Connector port="8080" .... URIEncoding="UTF-8"/﹥
二、表單get/post傳遞中文亂碼:
我們用一個過濾器,將所有編碼轉(zhuǎn)換為UTF-8
找到Tomcat安裝目錄下\webapps\jsp-examples\WEB-INF\classes \filters下
RequestDumperFilter.java,SetCharacterEncodingFilter.java兩個文件。
加入到你的項目,修改包路徑.
在web.xml文件中部署這個過濾器:
|
三、jsp頁面模版:
所有jsp頁面使用如下模版:
﹤%@ page language="java" pageEncoding="UTF-8"%﹥ |
四、數(shù)據(jù)庫以Unicode編碼存儲數(shù)據(jù):
MySQL數(shù)據(jù)庫設置
a)windows系統(tǒng): windows下安裝mysql時,編碼選擇utf-8,查看mysql安裝目錄下my,ini文件,
在[mysqld]段下面加入default-character-set=utf8
b)linux系統(tǒng):/etc/mysql/下my.cnf文件,在[mysqld]段下面加入default-character-set=utf8
五、JDBC連接參數(shù):
注意:xml文件中,"&"是不能直接使用的, & 代替 &
Mysql數(shù)據(jù)庫jdbc 連接參數(shù)
jdbc:mysql://localhost/kms?useUnicode=true&characterEncoding=utf-8
sql server數(shù)據(jù)庫jdbc連接參數(shù)(強烈建議使用JTDS驅(qū)動,比微軟官方驅(qū)動更好)
jdbc:jtds:sqlserver://localhost:1433/kms;TDS=8.0;charset=utf-8;
SendStringParameterAsUnicode=true
【編輯推薦】