Python偶遇Mysql亂碼解決方案

2021-08-07 02:21:45 字數 639 閱讀 9216

我用python向mysql插入出現這個錯誤看的我是一臉懵逼啊,作為乙個只學了三天python菜鳥來說。

incorrect string value: '\xf0\x90\x8d\x83\xf0\x90...'

for column 'content' at row 1

只好取google一番。

stackoverflow 這個帖子將的很明白incorrect string value

我大致翻譯一下,就是mysql預設三位元組編碼字元,如果想要4字元編碼,請在mysql5.5版本或者之後版本,設定字元編碼為utf8mb4,我設定了,然而……然而並沒有什麼卵用。

後來我又取google一番,預設建表的時候沒有指定編碼會按照預設的latin1來編碼,所以解決方案如下:

在建立表時設定預設字串編碼方式為utf8

已經新增的表,需要設定一下:alter table tablename convert to character set utf8 collate utf8_unicode_ci;

直接修改資料庫的字串編碼屬性:alter database databasename character set utf8 collate utf8_unicode_ci

ok 問題解決

python解決mysql亂碼問題

encoding utf 8 created on 2012 4 6 author yajunzhang import mysqldb import sys print sys.getdefaultencoding conn mysqldb.connect host user zhang passw...

Python中文亂碼問題 MySQL

最近在學習使用python操作mysql資料庫,遇到了中文亂碼問題。一 mysql資料庫 庫字符集引數 character set utf8 表字符集引數 charset utf8 列字符集引數 character set utf8 二 python檔案 檔案編碼utf 8 檔案頭新增 encodi...

Python 寫入 Mysql 亂碼問題

確保以下幾點,就不會有亂碼問題,字符集統一採用utf 8 1 表的預設字符集是否為utf 8,使用類似如下的sql語句 create table ifnot exists name id integer primary key auto increment,prop varchar 50 defau...