码迷,mamicode.com
首页 > 数据库 > 详细

关于mysql数据库和JDBC中文乱码的思考

时间:2020-07-26 00:09:10      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:c中   ike   思考   服务   解决   mic   start   cte   文件   

 

出现的问题:

1 通过JDBC向mysql数据库进行中文数据的插入和查询时出现???

技术图片

 

 

出现这种问题的原因在于mysql数据库的默认编码方式和java的默认编码方式不一致解决方法如下:

(1)在mysql中执行:SHOW VARIABLES LIKE ‘%character%‘;

技术图片

 

 

会发现这里的默认编码方式不是utf-8,将其改为utf-8即可。

修改的方式有很多但是通过配置文件进行修改以后就可以避免对这个问题再次进行处理了。

(2)首先停止mysql服务,然后找到mysql安装目录下的my.ini配置文件增加两行配置即可:

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8

(3)然后重新启动mysql服务,net start mysql;再次执行SHOW VARIABLES LIKE ‘%character%‘;

技术图片

 

 已经修改完成。

(4)再次通过JDBC进行插入操作,然后查询结果如下:

技术图片

 

 现在插入就是正常的(第一个问题已经解决)。

2 编写JSP用JDBC从数据库读取中文时出现乱码???

通过1使用JDBC向数据库插入数据时已经不会出现问题,可知出现2问题是java编码的问题

技术图片

 

        技术图片

 

结果:技术图片

 

修改各种配置文件都没有效果之后,发现是jsp内置对象request内置对象的问题,只需要对其进行设置即可:

 

<%request.setCharacterEncoding("utf-8");%>

但是要注意一点:这句话要在调用request内置对象之前,否则设置无效。

 技术图片

 

关于mysql数据库和JDBC中文乱码的思考

标签:c中   ike   思考   服务   解决   mic   start   cte   文件   

原文地址:https://www.cnblogs.com/codezyh/p/13376045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!