您的位置:首页 > 数据库 > MySQL

MySQL中文乱码问题解决之道

2012-03-05 20:04 183 查看
今天第一次用MySQL,遇到了中文乱码问题,问题描述如下:

直接通过Navicat编辑不会出现乱码,通过JDBC插入以及读取的中文乱码。

因为之前用过Oracle,于是尝试找到MySql的配置文件。我用的是MySQL 5.5,在其安装目录下找到my.ini,

设置default-character-set=gb2312

以为这样改了就好了,可是测试还是乱码,接着试了utf-8,gbk均不行。

如此这般,不知如何下手了。然后再网上查了一些资料,有的帖子说要重启服务,有的帖子说要将建好的数据库删除,设置后重新建立,都试了,还是不行。

最终问题的解决关键在于发现了my.ini中的另外一个字段character-set-server,必须对这个字段进行设置。

总结一下问题的解决步骤:

1 找到my.ini文件,设置数据库编码方式,两个字段都要进行设置。

default-character-set=gb2312

character-set-server=gb2312 (此处配置成utf-8应该也可以的)

设置完成后,如果依然是乱码,继续下面的步骤。

2 重启mysql服务。

如果依然乱码,继续。

3 将表导出,删除已有数据库。

4 重新建立数据库,导入表。

xp和win7环境下这样操作乱码问题均得到解决。

一些在解决过程中可能用得上的命令:

mysql> alter table content modify author varchar(30) character set gb2312;

将某张表的中指定的某个列进行全部设置

mysql> show variables like '%set%'

查看当前的编码格式这只
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: