mysql中文乱码终极解决方案

 连续几天被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显示乱码而烦恼了,呵呵。

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值