码迷,mamicode.com
首页 > 数据库 > 详细

[问题]数据库MySQL和Navicat的乱码问题

时间:2016-04-30 15:33:25      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

    计算机中存储字符需要使用编码集,早期有ASCII集,但是随着技术的发展,ASCII集不能满足需求,出现了越来越多的字符,比如中文字符等。后来又发展出了Unicode、GB2312、utf8等字符集。字符集多了以后,问题就出现了,如果运行环境和对应使用情况的字符集不形同就会出现乱码或者“?”,如下图所示。

技术分享 技术分享

    为了让字符能够正确显示,首先我们需要调整MySQL的文件,在MySQL的安装文件夹下找到“my.ini”文件,将字符集设定为GB2312,如下图所示。

技术分享

    然后将数据和对应表的字符集设定为utf8。可以使用show create语句查看数据库和表的字符集,如下图所示。

技术分享

    如果字符集不是需要的字符集可以使用alter语句进行修改,比如将字符集改为gb2312:

技术分享

    注意1:修改了“my.ini”的内容后需要重启MySQL

技术分享

    注意2;修改了字符集以后只对后面输入的字符起作用,对之前输入的字符没有影响。所以修改字符集以后最好重新建立一个数据库再录入数据,这样可以保证所有输入的数据格式统一,不会出现一部分内容是乱码一部分内容又能正常显示的情况。

    有时会出现cmd里面输入的字符在cmd里面能够正常显示,而在Navicat里面显示乱码,而在Navicat里面输入的字符在Navicat里面可以正常显示,在cmd里面显示乱码。这个问题我在讲“ my.ini "里面的字符集改为gb2312以后解决了,但是目前没弄清楚原因。

[问题]数据库MySQL和Navicat的乱码问题

标签:

原文地址:http://www.cnblogs.com/rogear/p/5448630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!