我建议把所有的编码格式都变成utf8编码,

和上面的不一样,打开my.ini 修改下面两处
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
这样的话适合开发,不易乱码,但这里有个问题就是cmd默认的是gbk格式 ,也就是936,输入chcp可查看

先给出一个错误的解决方法(bug吧 我也没有解决)
将cmd变为utf8编码(合情合理)
chcp 65001

2.点击边框右键属性,选择字体Lucida Console(这字体挺好看的,不过gbk没有)

3.就可以访问数据库了,但是这里有一个问题,你可以查询数据库,但是你不能输入中文,比如你想插入一个代中文的语句,mysql会不认可。(所以,这里就失败了)
另一个方法我们还是保持cmd的gbk编码格式,(推荐方法)
访问数据库 在操作表时,提前写一句 set names gbk;
那么就不会出现乱码,插入也正常了。

查询编码格式

因为我还在其他地方操纵mysql所以把它最好设置为utf8;而在cmd中时,我们不得不把显示端改变为gbk,上面的set names gbk;是暂时的,也就是说其他平台访问,或者 下次cmd访问表结构都是原来的utf8,在cmd中 每次多谢一句set names gbk;就好
不推荐做法 把my.ini改变 default-character-set=gbk(原来是utf8)

这样虽然cmd没问题了,但是其他访问平台有问题 所以推荐用方法一
本文探讨了MySQL数据库在不同编码环境下,特别是在UTF8和GBK之间的切换方法。提供了两种解决方案:一是更改my.ini文件使所有编码统一为UTF8,适用于开发环境避免乱码;二是保持CMD默认GBK编码,通过在SQL语句前加入set names gbk;来解决中文显示问题。文章对比了两种方法的优劣,推荐使用第二种方法。
1648

被折叠的 条评论
为什么被折叠?



