转载

JSP实用案例教程(中文乱码的处理)

JSP实用案例教程:解决思路:

1 首先排除是脚本问题

方式是这样的:修改配置文件,链接工作站的远程数据库而非服务器本地数据库,调试ok

2 其次排除是数据库编码问题

这里比较纠结,因为使用mysql的数据库,常常会出现编码问题。数据库导入后,在库内显示是中文,但网站后台提交的数据则为乱码。既然数据库内的中文是正常的,则应该排除之

3 问题应该是发生在数据传输环节

成功解决方法:修改数据库连接池,指定连接字符集编码

原先的连接代码:

XML/HTML代码

  1. <property name="connection.driver_class">     
  2.     com.mysql.jdbc.Driver      
  3. </property>     
  4. <property name="connection.url">     
  5.     jdbc:mysql://127.0.0.1:3306/test      
  6. </property>     
  7. <property name="connection.username">root</property>     
  8. <property name="connection.password">root</property>     
  9. <property       
  10.      
  11. <property name="c3p0.min_size">5</property>     
  12. <property name="c3p0.max_size">20</property>     
  13. <property name="c3p0.timeout">1800</property>     
  14. <property name="c3p0.max_statements">50</property>    

修改的:

XML/HTML代码

  1. <property name="connection.driver_class">     
  2.     com.mysql.jdbc.Driver      
  3. </property>     
  4. <property name="connection.url">     
  5.     jdbc:mysql://127.0.0.1:3306/test      
  6. </property>     
  7. <property name="connection.username">root</property>     
  8. <property name="connection.password">root</property>     
  9. <property name="connection.characterEncoding">UTF-8</property>     
  10.      
  11. <property name="c3p0.min_size">5</property>     
  12. <property name="c3p0.max_size">20</property>     
  13. <property name="c3p0.timeout">1800</property>     
  14. <property name="c3p0.max_statements">50</property>    

也许您的链接写法是这样的:

String Url="jdbc:mysql://localhost/test?user=root&password=root&useUnicode=true&characterEncoding=UTF-8";

JSP实用案例教程到此结束。

正文到此结束
Loading...