win下修改mysql默认的字符集以防止乱码出现

时间:2024-04-18 04:37:10

环境:win8.1+mysql5.6.11+xampp(v3.2.1)

win下修改mysql默认的字符集以防止乱码出现

默认的编码如下

查看方式:

show variables like 'character%';

结果:

win下修改mysql默认的字符集以防止乱码出现

从以上信息可知数据库的编码为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现有会话,保证我们以新的字符编码打开了)

win下修改mysql默认的字符集以防止乱码出现

可以了,这样就不会乱码了。

需要注意的是:网上有的说法是mysqld下也是default-character-set=utf8,这个会有错误出现

unknown variable 'default-character-set=utf8'

我们只需改成如此 character_set_server=utf8即可

参考:

http://blog.****.net/frinder/article/details/7041723

http://blog.****.net/vah101/article/details/6365120