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

Mysql数据库,表中有中文时,select出来好多问号(?)的解决方法

时间:2015-08-08 16:30:05      阅读:1310      评论:0      收藏:0      [点我收藏+]

标签:

在QQ群里问了一些高手,同时参考了这篇文章:http://huangyunbin.iteye.com/blog/1113983,终于把这个问题搞定了。

首先,我用的是zip包的Mysql,直接解压使用的,网上说修改my.ini或者my.cnf在我机器上根本就找不到。但是my.ini这个东西是可以自己添加的。将mysql目录中的my-default.ini文件复制一份(原来的模板还是留一份不要乱动的好),重命名为my.ini。打开my.ini,在最后添上如下两行:

[mysql]
default-character-set=utf8

保存。同时要检查 ./data/performance_schema目录下的db.opt文件中有这样两行:

default-character-set=utf8
default-ollation=utf8_chinese_ci

之后是在数据库里进行设置。在mysql中输入

1 mysql> show variables like ‘‘char%‘‘;

可以看到我的数据库中字符集是酱婶的:

技术分享

遵照大部分网友的建议,除了filesystem那个binary不动,其它全部改成utf8好了。

1 MYSQL>set character_set_client = utf8;
2 MYSQL>set character_set_connection = utf8;
3 MYSQL>set character_set_database = utf8;
4 MYSQL>set character_set_results= utf8;
5 MYSQL>set character_set_server=utf8;

OK。可以再次执行show variables like ‘‘char%‘‘;查看修改结果。现在字符集都是UTF-8了。

最后一步,要修改之前乱码的表,将字符编码也修改为UTF-8:

1 MYSQL>alter table 表名 modify 列名 字段类型 character set utf8;

这样就完成啦。再select一下之前的表,中文是不是都变过来了?

 

====================广告时间====================

最后还是推荐一下我的群:鱼香肉丝。群号:234509621。这里有产品经理,有测试人员,有代码大牛,有立志于从事IT行业的正在读书的明日之星,还有各种技术资料。欢迎IT患者加入。不过加群有限制,请注明加群的理由,否则管理员不会给通过的(一般写个IT啊,计算机啊,算法啊,或者做什么工作的,就差不多可以)。进群后先跟大家打个招呼,然后到群文件中下载群规看看。之后就可以跟大家愉快的玩耍了。

Mysql数据库,表中有中文时,select出来好多问号(?)的解决方法

标签:

原文地址:http://www.cnblogs.com/anpengapple/p/4713171.html

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