通过jdbc操作mysql过程中,数据存取都正常(中文) 但是在数据库里面的显示是乱码。
建数据库的时候 用的是 create database test1 default character set utf8
my.ini 中能改编码的地方我都改成了utf-8
请哪位高手帮忙解决下!!!
建数据库的时候 用的是 create database test1 default character set utf8
my.ini 中能改编码的地方我都改成了utf-8
请哪位高手帮忙解决下!!!
两种办法:
一:在安装目录的根目录下个my.ini 替换default-character-set=latin为:default-character-set=gb2312(注意两处)完成后重新建数据库即可。
二:安装数据库的时候选择语言gb2312,不要使用默认语言。
两种方法都是可以解决的,而两种方法都要求重新创建数据库我用的是第一种解决方法 解决了....
Windows下:
1、中止MySQL服务
2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可
3、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=gbk,保存并关闭
4、启动MySQL服务
然后创建数据库 指定编码 试试 gbk
如果反复调试,各种方法都试过了还不起作用,那我建议你,最好把数据库全部删,重新建,
指定character set,(和你页面上的保持一致,因为主要是来自页面的数据会冲突),同时在后台的代码里面进行一次转码(或者配置Filter)。
在这里加<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<contentType="text/html;charset=utf-8">
<!-- Define an AJP 1.3 Connector on port 8080 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<contentType="text/html;charset=utf-8">
2.创建工程的时候默认编码UTF-8。在window-》preference-》MyEclipse workbrench 中选择files设置一些文件的编码格式为UTF-8比如JSP。
3.添加个过滤器。
以上这几步只要统一了,应该不会有什么问题。
后台数据库字符集用utf8,gbk的都行,用status查看,只要用同一种客户端读写就不会乱码,用程序写再用程序读就不乱码。就怕你用其他客户端去写,再用jdbc程序读,有可能用的不是一个字符集,那样必然乱码了。总的说来就是要统一字符集,怕出现中文乱码,可以在cmd中操作,设置字符集为gbk就行了,那样程序也不乱码,set charset=gbk;
在存数据的时候存UTF-8
中文window的dos窗口默认编码为GBK, 不能显示utf-8
以前我也遇到MySql乱码问题, 用的上面第一种方法解决的!