JSP實(shí)用案例教程(中文亂碼的處理)
JSP實(shí)用案例教程:解決思路:
1 首先排除是腳本問題
方式是這樣的:修改配置文件,鏈接工作站的遠(yuǎn)程數(shù)據(jù)庫而非服務(wù)器本地?cái)?shù)據(jù)庫,調(diào)試ok
2 其次排除是數(shù)據(jù)庫編碼問題
這里比較糾結(jié),因?yàn)槭褂胢ysql的數(shù)據(jù)庫,常常會出現(xiàn)編碼問題。數(shù)據(jù)庫導(dǎo)入后,在庫內(nèi)顯示是中文,但網(wǎng)站后臺提交的數(shù)據(jù)則為亂碼。既然數(shù)據(jù)庫內(nèi)的中文是正常的,則應(yīng)該排除之
3 問題應(yīng)該是發(fā)生在數(shù)據(jù)傳輸環(huán)節(jié)
成功解決方法:修改數(shù)據(jù)庫連接池,指定連接字符集編碼
原先的連接代碼:
XML/HTML代碼
- <property name="connection.driver_class">
- com.mysql.jdbc.Driver
- </property>
- <property name="connection.url">
- jdbc:mysql://127.0.0.1:3306/test
- </property>
- <property name="connection.username">root</property>
- <property name="connection.password">root</property>
- <property
- <property name="c3p0.min_size">5</property>
- <property name="c3p0.max_size">20</property>
- <property name="c3p0.timeout">1800</property>
- <property name="c3p0.max_statements">50</property>
修改的:
XML/HTML代碼
- <property name="connection.driver_class">
- com.mysql.jdbc.Driver
- </property>
- <property name="connection.url">
- jdbc:mysql://127.0.0.1:3306/test
- </property>
- <property name="connection.username">root</property>
- <property name="connection.password">root</property>
- <property name="connection.characterEncoding">UTF-8</property>
- <property name="c3p0.min_size">5</property>
- <property name="c3p0.max_size">20</property>
- <property name="c3p0.timeout">1800</property>
- <property name="c3p0.max_statements">50</property>
也許您的鏈接寫法是這樣的:
String Url="jdbc:mysql://localhost/test?user=root&password=root&useUnicode=true&characterEncoding=UTF-8";
JSP實(shí)用案例教程到此結(jié)束。
【編輯推薦】