猿问

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

在学习struts2+hibernate开发学生信息管理系统的课程时,用junit向数据库插入测试数据,中文乱码

网上说的修改my.ini那些方法试过了,,没有用,我的mysql是5.7版本的,希望大家帮帮忙.

ps:直接在数据库管理工具中插入中文没问题

qq_逗猫人_0
浏览 3208回答 11
11回答

手插口袋_

如果是页面传值过来的话,需要请求的编码跟接收和数据库的编码一致。如果你debug发现传到后台还没接收的时候就是乱码的话需要修改tomcat配置文件,其他发布服务器类似。建议忘掉修改my.ini方法  实际项目数据库编码不会有问题的。全部没问题的话,是极小的几率才会出现乱码,比如说,手机端未设置编码直接传值等

JesonWu

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

捕实者_说

首先查看当前数据库编码:mysql> use xxxmysql> 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;

一切都因为太年轻

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

七七浣

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

第五若雪

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

Sz_我用代码堆雪人

在页面显示,在类中打印,看从哪开始出现的乱码。把eclipse中的编码格式改成一致

End13147

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

tutar

乱码一般都是编码问题,程序和数据库编码统一就行,一般使用utf8,设置my.ini后记得重启数据库
随时随地看视频慕课网APP

相关分类

Java
我要回答