为了账号安全,请及时绑定邮箱和手机立即绑定

在向mysql数据库插入数据中文乱码。

在向mysql数据库插入数据中文乱码。

qq_逗猫人_0 2016-01-18 17:57:56
在学习struts2+hibernate开发学生信息管理系统的课程时,用junit向数据库插入测试数据,中文乱码网上说的修改my.ini那些方法试过了,,没有用,我的mysql是5.7版本的,希望大家帮帮忙.ps:直接在数据库管理工具中插入中文没问题
查看完整描述

11 回答

?
手插口袋_

TA贡献25条经验 获得超45个赞

如果是页面传值过来的话,需要请求的编码跟接收和数据库的编码一致。

如果你debug发现传到后台还没接收的时候就是乱码的话

需要修改tomcat配置文件,其他发布服务器类似。

建议忘掉修改my.ini方法  实际项目数据库编码不会有问题的。

全部没问题的话,是极小的几率才会出现乱码,比如说,手机端未设置编码直接传值等

查看完整回答
2 反对 回复 2016-01-18
?
JesonWu

TA贡献4条经验 获得超5个赞

编码格式应该是要换成utf-8

查看完整回答
1 反对 回复 2016-01-20
?
捕实者_说

TA贡献2条经验 获得超1个赞

首先查看当前数据库编码:

mysql> use xxx
mysql> show variables like 'character_set_database';
+------------------------+--------+
| Variable_name          | Value  |
+------------------------+--------+
| character_set_database | latin1 |
+------------------------+--------+

上面,我们先切换到xxx数据库下面来,然后使用SQL语句:show variables like 'character_set_database'; 来查看了xxx数据库的编码。查询得到的结果是latin1编码。

下面,修改xxx数据库的编码,把它修改为你要的编码 utf8  (注意不是utf-8)。或许你的是gbk gb2312 。

mysql> alter database xxx CHARACTER SET utf8;


查看完整回答
1 反对 回复 2016-01-20
?
一切都因为太年轻

TA贡献1条经验 获得超1个赞

查看一下数据库的编码方式,如果不是UTF-8或者是unicode的编码方式。其它方式不支持中文

查看完整回答
1 反对 回复 2016-01-19
?
七七浣

TA贡献11条经验 获得超1个赞

private String url = "jdbc:mysql://localhost:3306/dbname?useUnicode=true&charactorEncoding=utf-8";

在你jdbc url后面加上?useUnicode=true&charactorEncoding=utf-8 这段,用的什么编码,尾部就改成什么编码,还有你的项目编码最好也相同,新建数据库时也指定charset=utf-8,就不会乱码了

查看完整回答
反对 回复 2016-01-22
?
第五若雪

TA贡献14条经验 获得超19个赞

添加过滤器,设置字符编码过滤器。

查看完整回答
反对 回复 2016-01-21
?
Sz_我用代码堆雪人

TA贡献2条经验 获得超0个赞

在页面显示,在类中打印,看从哪开始出现的乱码。

把eclipse中的编码格式改成一致

查看完整回答
反对 回复 2016-01-20
?
End13147

TA贡献6条经验 获得超1个赞

这个导致的原因挺多的 得打断点看呢吧

查看完整回答
反对 回复 2016-01-19
?
tutar

TA贡献1条经验 获得超0个赞

乱码一般都是编码问题,程序和数据库编码统一就行,一般使用utf8,设置my.ini后记得重启数据库

查看完整回答
反对 回复 2016-01-18
  • 11 回答
  • 0 关注
  • 3207 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信