环境:win8.1+mysql5.6.11+xampp(v3.2.1)
默认的编码如下
查看方式:
show variables like 'character%';
结果:
从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8。
其中,character_set_client为客户端编码方式;
character_set_connection为建立连接使用的编码;
character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。
那么接下来我们统一修改为utf8吧
打开my.ini找到[client]添加一行
default-character-set=utf8
找到[mysqld]这行添加代码如下
character_set_server=utf8
init_connect='SET NAMES utf8'
这样我们再查看下数据库的编码(我们必须关闭mysql服务和关闭mysql现有会话,保证我们以新的字符编码打开了)
可以了,这样就不会乱码了。
需要注意的是:网上有的说法是mysqld下也是default-character-set=utf8,这个会有错误出现
unknown variable 'default-character-set=utf8'
我们只需改成如此 character_set_server=utf8即可
参考:
http://blog.csdn.net/frinder/article/details/7041723
http://blog.csdn.net/vah101/article/details/6365120