我用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...