mysql中文乱码终极解决方案

来源:互联网 发布:配置windows update35 编辑:程序博客网 时间:2024/04/24 19:14

 连续几天被mysql无法显示中文而困惑,在网上搜索了大量的帖子,第一次在实验室莫名其妙的突然可以显示了,然后今天在寝室弄的时候又不行了,于是准备熬夜研究个明白,看看到底是什么原因。终于,我发现了其中的奥妙,有一步才是最重要的,请继续看我的分析。

1,新建数据库,执行一段sql脚本,用于新建表以及插入值。

mysql中文乱码终极解决方案(原创)

我们发现数据库中的person表中,无法正确显示name属性的值。

2,在mysql根目录下查找my.ini文件,如果没有找到,则复制my-medium.ini的一份副本,并且修改文件名为my.ini。

mysql中文乱码终极解决方案(原创)

然后打开my.ini文件,进行如下修改:

    在[mysqld]中添加一行代码:default-character-set=utf8(如图所示)

mysql中文乱码终极解决方案(原创)

然后保存,并重启mysql数据库。

3,打开数据库后,查看person表内容,发现任务无法正确显示中文,如下图所示:

mysql中文乱码终极解决方案(原创)

明明已经正确设置了my.ini文件,为什么还是无法正确显示中文呢?相信大家跟我一样急,最最关键的一步出现了,这也是大多数网上大多数帖子没有提到的一点。

4,删除已有的test数据库,然后新建数据库test,再重新执行sql脚本新建表。(注意:只删除test下的表的话无效,一定要删除test数据库,然后重建数据库),你马上会惊奇的发现,name属性终于正确显示中文了,哈哈。

mysql中文乱码终极解决方案(原创)

 

    本教程最重要的一步就是第四步,删除test数据库,如果要问为什么必须这样做,我的理解是:新建数据库时候,会根据mysql中的配置文件(如my.ini)中设定的默认字符集格式而创建。所以必须把之前显示乱码的数据库删除后重建,因为那些数据库创建的时候我们还没有修改my.ini,它是按照其它字符集格式创建的。

    好了,相信你看完我的文章后,一定会对你有所帮助的。再也不要为mysql显示乱码而烦恼了,呵呵。

    就这样吧,谢谢你的关注,晚安!

 

原创粉丝点击