数据库中文乱码解决方案总结,tomcat+mysql+hibernate
2016-07-15 10:35
676 查看
我的开发环境是eclipse+tomcat+mysql+hibernate,数据落地时发现中文都成了?,网上一搜,原因有很多,这边总结下,大家碰到可以按着一一排查:
一般编码都会常用UTF-8编码
1. 数据库编码
查看mysql数据的的编码,确实是utf-8
如果不是,将数据编码格式保存为utf-8
设置默认编码为utf8:
set names utf8;
设置数据库db_name默认为utf8:
[sql] view
plain copy
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
设置表tb_name默认编码为utf8:
[sql] view
plain copy
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2. 查看eclipse编辑器用的是UTF-8的编码
3. 查看project用的是UTF-8编码
4. 查看html中选的是utf编码
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5. 查看ORM框架用的是utf-8编码
我用的是hibernate框架,查看hibernate.cfg.xml文件
<property name="connection.characterEncoding">UTF-8</property>
6. 查看tomcat的编码
找到tomcat下的server.xml文件
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
改成
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
如果是在eclipse中运行tomcat,重启tomcat还不起作用,要把项目中server删了重新加载,才起作用
7. 数据库连接语句
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
db.username=root
db.password=123456
这么多检查排查下来终于解决了,感谢大家的帮助!!!
一般编码都会常用UTF-8编码
1. 数据库编码
查看mysql数据的的编码,确实是utf-8
如果不是,将数据编码格式保存为utf-8
设置默认编码为utf8:
set names utf8;
设置数据库db_name默认为utf8:
[sql] view
plain copy
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
设置表tb_name默认编码为utf8:
[sql] view
plain copy
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2. 查看eclipse编辑器用的是UTF-8的编码
3. 查看project用的是UTF-8编码
4. 查看html中选的是utf编码
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5. 查看ORM框架用的是utf-8编码
我用的是hibernate框架,查看hibernate.cfg.xml文件
<property name="connection.characterEncoding">UTF-8</property>
6. 查看tomcat的编码
找到tomcat下的server.xml文件
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
改成
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
如果是在eclipse中运行tomcat,重启tomcat还不起作用,要把项目中server删了重新加载,才起作用
7. 数据库连接语句
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
db.username=root
db.password=123456
这么多检查排查下来终于解决了,感谢大家的帮助!!!
相关文章推荐
- MySQL中的integer 数据类型
- java-模拟tomcat服务器
- MySQL存储过程
- i-jetty环境搭配与编译
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- Linux部署Tomcat服务器
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- jenkins------结合maven将svn项目自动部署到tomcat下
- 如何搞定tomcat这只喵~
- MySQL 备份和恢复策略
- MyEclipse Web Project转Eclipse Dynamic Web Project