我JAVA WEB 项目在向Mysql 输入数据时,出现乱码,怎么回事?时struts2 和 hibernate写的。 向mysql输入数据,在页面显示时时汉字。从页面写入时mysql显示的是乱乱码,着怎么回事?
------解决思路----------------------
我以前也遇到过同样的问题,先确认一下表的编码方式,一般安装mysql客户端的时候,有设定的形式 你不改的话好像是latin 什么呢 看看你出问题的表或者字段的编码 是不是utf-8,如果你的操作系统是32位 我建议你到mysql官网去下载mysql的可视化工具workbench 用它来该非常方便。希望我的回答对你有用
------解决思路----------------------
首先 在action里面的方法里输出一下数据 看是不是乱码
如果是 那就是前台页面的编码有问题
如果action里输出不是乱码 插入数据库后就是乱码 那就是数据库的字符集有问题
建议数据库 页面 全部统一为utf-8
在web.xml里面 设置spring strust2的字符集过滤器 过滤为utf-8
------解决思路----------------------
首先,在servlet开始语句加上
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
其次,对乱码的汉子进行一个转码。 例如,station= new String(station.getBytes("ISO-8859-1"),"gb2312");
再次,加一个过滤器把你所有页面过滤成UTF-8。
3道防线 绝对可靠
三个都做了如果还是不行,就把 station= new String(station.getBytes("UTF-8"),"gb2312");
试试。
------解决思路----------------------
数据库编码改成utf-8,所有页面都用这个编码
------解决思路----------------------
一般这种是数据库字符集和页面字符集不一致的问题,你页面的字符集一般是gb2312,你看看你数据库的字符集是什么,假如是iso8859-1,这样转换下:station=new String(station.getBytes("gb2312"),"iso8859-1")
------解决思路----------------------
在安装mysql数据文件中将my.ini文件中字体设为gbk就可以,,需注意的是my.ini文件中要修改两处!