MySQL中文乱码问题解决之道

今天第一次用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%'

查看当前的编码格式这只


     

你可能感兴趣的:(oracle,mysql,数据库,jdbc,character,variables)