我有以下模式:Python的編碼錯誤添加到MySQL表
CREATE TABLE language (
language varchar(100) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (language)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
我有下面的代碼語言添加到數據庫
self.cursor.execute("""INSERT IGNORE INTO language (language)
VALUES (%s)""",
(["PORTUGUÊS".encode('utf-8')]))
self.conn.commit()
表和db被編碼爲utf8_bin 。問題是......如果這個詞不存在,它會毫無問題地添加。如果存在以下錯誤給出;
UnicodeEncodeError: 'ascii' codec can't encode character u'\xca' in position 24: ordinal not in range(128)
已經被抓我的頭幾個小時
刪除編碼,這是什麼導致你的錯誤 –
@Padraic已經做了,沒有任何變化 –
對不起,我猜你正在使用python3? –