首先说明自己的开发环境:
系统:win7
数据库: 6.0.11-alpha-community MySQL Community Server (GPL)【感觉这是一个非常蛋疼的数据库版本,因为这个数据库会出各种莫名其妙的问题,记得以前用5.6的时候基本不会出现太多的问题。。】
IDE:MyEclipse10.0
常见问题汇总:
1、MySQL报错:Could not retrieve transation read-only status server
或者Unknown character set: 'utf8mb4'
原因:数据库驱动版本不兼容导致
解决方案:尝试了好几个版本,最终确定与本数据库兼容的版本是:mysql-connector-java-5.1.6-bin.jar
2、MySQL客户端显示中文乱码【数据库中存储的内容正常,但是通过MySQL Command Line Client 读取数据库中存储的中文出现乱码】
原因:MySQL客户端字符集设置有问题
解决方案:在客户端输入set names gbk;【注:我所有的编码均采用的是UTF-8,但是不清楚为什么在这需要写成gbk!!希望大神能够给与解答~~】
例:输入 show variables like %char%;查询字符集然后进行数据库查询如下:
但是设置了字符编码为'gbk'后则显示正常:
3、WEB页面中文数据存储入数据库乱码
1)、首先检查所有的WEB页面的编码方式是否支持中文,不支持中文请修改成UTF-8
【修改方法:】
①、中文数据乱码:很有可能是Tomcat的编码问题,所以需要修改Tomcat的编码方式【打开Tomcat安装文件夹下conf目录下的server.xml进行修改】
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
3)、检查数据库的编码是否支持中文,不支持中文需要修改为支持中文
方法:
在安装目录./MySQL/MySQL Server 6.0文件夹下打开文件my.ini配置文件,
找到 default-character-set=latin1 并改为:default-character-set=utf8
找到 character-set-server=latin1 并改为:character-set-server=utf8,修改完之后保存,然后重启MysSQL。
4)、修改hibernate的配置文件中连接数据库的URL如下:
jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=utf8
4、Spring注入失败
原因:我的个人原因是忘记了加 struts2-spring-plugin这个jar包【我排查了所有可能的错误,整整弄了两天,最终发现少jar包。。。当时感觉不会再爱了啊啊啊啊啊!】
解决方案:加入对应jar包即可