Java EE系統(tǒng) 中文問(wèn)題終極解決方案
轉(zhuǎn)自 http://www.educity.cn/wenda/209886.html
第一原則:所有編碼的地方灭抑,統(tǒng)一設(shè)為UTF-8,這樣繁體痴鳄,簡(jiǎn)體,日文涣雕,韓文礁芦。经窖。募谎。通吃了)
一、下載中文文件名文件問(wèn)題
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傳遞中文亂碼
我們用一個(gè)過(guò)濾器遭垛,將所有編碼轉(zhuǎn)換為UTF-8
找到Tomcat安裝目錄下\webapps\jsp-examples\WEB-INF\classes\filters下RequestDumperFilter.java,SetCharacterEncodingFilter.java兩個(gè)文件操灿。加入到你的項(xiàng)目锯仪,修改包路徑.
在web.xml文件中部署這個(gè)過(guò)濾器
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>SetCharacterEncodingFilter.java 的類路徑</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param> </filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
三、jsp頁(yè)面模版
所有jsp頁(yè)面使用如下模版
<%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv=content-type content="text/html; charset=UTF-8">
<title>
</title>
</head>
<body>
</body>
</html>
四牲尺、數(shù)據(jù)庫(kù)以Unicode編碼存儲(chǔ)數(shù)據(jù)
MySQL數(shù)據(jù)庫(kù)設(shè)置
a)windows系統(tǒng): windows下安裝mysql時(shí)卵酪,編碼選擇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ù)庫(kù)jdbc 連接參數(shù)
jdbc:mysql://localhost/kms useUnicode=true&characterEncoding=utf-8
sql server數(shù)據(jù)庫(kù)jdbc連接參數(shù)(強(qiáng)烈建議使用JTDS驅(qū)動(dòng),比微軟官方驅(qū)動(dòng)更好)
jdbc:jtds:sqlserver://localhost:1433/kms;TDS=8.0;charset=utf-8;SendStringParameterAsUnicode=true