java向mysql数据库插入数据显示乱码的问题
2015-10-30 11:41
766 查看
在做一个java web工程时,有时会碰到在向数据库添加数据库时,结果出现乱码”???“的问题。针对该问题的主要解决办法就是:
一、确保是否添加了字符集过滤器:
在java web工程中的web.xml里,添加以下代码解决乱码:
二、确保创建的数据库是否配置支持中文,如下图所示进行配置:
![](http://images2015.cnblogs.com/blog/563637/201510/563637-20151030111633966-385429452.png)
三、如果仍然乱码,则就是mysql的编码问题(mysql默认编码为:latin1):
1、查看mysql编码配置:
“运行”——>输入“mysql”——>弹出mysql客户端对话框——>以root身份进入mysql:
进入后:输入命令:"show variables like 'character%';" 查看mysql字符编码,结果如下:
![](http://images2015.cnblogs.com/blog/563637/201510/563637-20151030112426044-1904905206.png)
说明不支持中文编码,所做的操作就是:
在mysql的安装目录下,找到“my.ini”(windows系统下后缀为ini, Mac系统下后缀为cnf, )的配置文件,以记事本方式打开:
找到客户端配置 [client],在下面添加 “default-character-set=utf8”,后找到 [mysql] ,在下面添加 “default-character-set=utf8”,然后搜索“default-character-set”,把所有的default-character-set 都改为“utf8“(注:通常在改了[client]和[mysql]之后,其余位置的也需要改),如下如所示:
![](http://images2015.cnblogs.com/blog/563637/201510/563637-20151030113546950-1956412189.jpg)
然后重启mysql服务,再次” show variables like 'character%'; “查看mmysql字符编码,结果如下所示:
![](http://images2015.cnblogs.com/blog/563637/201510/563637-20151030113759700-873448117.png)
然后测试向数据库添加数据,乱码问题不再出现。
一、确保是否添加了字符集过滤器:
在java web工程中的web.xml里,添加以下代码解决乱码:
<filter> <filter-name>SpringEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>SpringEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
二、确保创建的数据库是否配置支持中文,如下图所示进行配置:
![](http://images2015.cnblogs.com/blog/563637/201510/563637-20151030111633966-385429452.png)
三、如果仍然乱码,则就是mysql的编码问题(mysql默认编码为:latin1):
1、查看mysql编码配置:
“运行”——>输入“mysql”——>弹出mysql客户端对话框——>以root身份进入mysql:
进入后:输入命令:"show variables like 'character%';" 查看mysql字符编码,结果如下:
![](http://images2015.cnblogs.com/blog/563637/201510/563637-20151030112426044-1904905206.png)
说明不支持中文编码,所做的操作就是:
在mysql的安装目录下,找到“my.ini”(windows系统下后缀为ini, Mac系统下后缀为cnf, )的配置文件,以记事本方式打开:
找到客户端配置 [client],在下面添加 “default-character-set=utf8”,后找到 [mysql] ,在下面添加 “default-character-set=utf8”,然后搜索“default-character-set”,把所有的default-character-set 都改为“utf8“(注:通常在改了[client]和[mysql]之后,其余位置的也需要改),如下如所示:
![](http://images2015.cnblogs.com/blog/563637/201510/563637-20151030113546950-1956412189.jpg)
然后重启mysql服务,再次” show variables like 'character%'; “查看mmysql字符编码,结果如下所示:
![](http://images2015.cnblogs.com/blog/563637/201510/563637-20151030113759700-873448117.png)
然后测试向数据库添加数据,乱码问题不再出现。
相关文章推荐
- Spring MVC篇一、搭建Spring MVC框架
- JAVA中的访问权限
- eclipse中的Console控制台视图脱离主窗口解决办法
- 使用spring集成hibernate
- 用java实现 数三退出游戏(2)约瑟夫环
- hdu 1001 初学java代码
- Spring与Mybatis的整合方法有哪些
- Java 构造函数
- java基础学习笔记(5)
- iOS AsyncSocket 与 Java Netty 的简单socket使用
- java基础学习笔记(4)
- java基础学习笔记(3)
- 遍历map的四种方法
- java.exe重命名之后无法被 jvisualvm、jconsole监控的问题
- java lock condition
- java基础学习笔记(2)
- maven_spring_cxf
- [Java并发包学习九]Java中的阻塞队列
- 从头认识java-6.3 组合使用聚合和继承
- [Java并发包学习八]深度剖析ConcurrentHashMap