tomcat+mysql+java+spring模式下的action返回值中文乱码问题
关于乱码问题有以下四种:
1、jdbc:mysql://localhost:3306/test?characterEncoding=utf-8(连接条件)
2、Tomcat的server.xml 配置 URIEncoding="UTF-8" 这个只是get请求的编码处理
3、应用POST请求时是否配置了编码 ,servlet用Filter来处理
4、数据库的编码是否正确设置(可查看http://www.cnblogs.com/liyingxiang/p/5877764.html)
***踩了一遍坑发现通过在mysql命令行下的set character_set_* = utf-8只是在当前状态下有用,mysql重启之后没用,需要修改配置文件my.cnf
***我图省事使用yum安装的mysql,导致无法修改/etc/my.cnf,解决方案
find / -name my-medium.cnf 找到mysql的配置文件路径,将此配置文件拷贝到/etc目录下(cp my-medium.cnf /etc/my.cnf),修改my.cnf(vim my.cnf),在其[client] 和 [mysqld]后面均加上default-character-set=utf8,保存并关闭。
重启mysql{
service mysql restart
},进入mysql下查看字符格式{
mysql -h host -u user -p ;
show variables like "%character%" ;
}