Mysql编码问题

操作系统:Ubuntu 14.04

Mysql版本:5.5.46

由于需要在Mysql中插入中文,因此就需要将Mysql默认的编码改成utf-8,在百度搜索了一圈没有成功,最后再Stackoverflow找到了答案。Mysql默认的编码如下图所示:(用到的命令:show variables like 'character%')

Mysql编码问题_第1张图片
Paste_Image.png

我们需要将 character_set_databasecharacter_set_server这两个变量的值该成 utf8
方案:
1、关闭mysql, service mysql stop
2、编辑mysql配置文件 my.cnf
在[client]下面添加
default-character-set=utf8
在[mysql]下面添加
default-character-set=utf8
在[mysqld]下添加
character-set-server=utf8
init_connect='SET NAMES utf8',
collation-server=utf8_general_ci
注意:这里不能加default-character-set=utf8不然会导致mysql无法启动
3、观测修改后的变量

Mysql编码问题_第2张图片
Paste_Image.png

万万没想到在用 Python执行一次中文插入后 character_set_database的值又变成 latin1。中文显示仍然是乱码,在Stackoverflow上看见有人问这个 问题直接贴过来了

Mysql编码问题_第3张图片
Paste_Image.png

你可能感兴趣的:(Mysql编码问题)