在用MYSQL 和 JDBC
的时候,遇到一个乱码问题,读取的时候没有问题,插入和更新的时候,中文就会变成乱码,项目是UTF-8的,MYSQL数据库和表都是UTF-8的,通过查找发现:
jdbc.properties 文件里面的jdbc连接字符串为:
jdbc:mysql://localhost:3306/bangqu?useUnicode=true&characterEncoding=UTF-8
造成这个错误的原因是,&转码导致的,只需要将连接修改为:
jdbc:mysql://localhost:3306/bangqu?useUnicode=true&characterEncoding=UTF-8
即可解决乱码问题!
总结如下:
struts/mysql乱码问题可分为以下几个环节
1.jsp页面编码,设置pageEncoding="UTF-8"和charset=UTF-8"
2.Tomcat
Uriencoding的设置为UTF-8,否则get方式提交表达中文乱码,但post可以
3.Myeclipse的编辑器对java的编码
4.jdbc连接时String url=
"jdbc:mysql://localhost:3306/webbookstore?useUnicode=true&characterEncoding=UTF-8";
5.mysql配置文件设置default-charset=utf-8
6.对mysql进行建库、建表时选utf-8,转储sql文件时编码等也应注意。