操作系統:Ubuntu 14.04
Mysql版本:5.5.46
由于需要在Mysql中插入中文,因此就需要將Mysql默認的編碼改成utf-8
,在百度搜索了一圈沒有成功,最后再Stackoverflow找到了答案。Mysql默認的編碼如下圖所示:(用到的命令:show variables like 'character%')
Paste_Image.png
我們需要將
character_set_database
和character_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、觀測修改后的變量
Paste_Image.png
萬萬沒想到在用
Python
執行一次中文插入后character_set_database
的值又變成latin1
。中文顯示仍然是亂碼,在Stackoverflow上看見有人問這個問題直接貼過來了
Paste_Image.png