我有以下模式:
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()
表和数据库是为utf8\u bin编码的。问题是。。。如果这个词不存在,它会毫无困难地添加。如果存在以下错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xca' in position 24: ordinal not in range(128)
几个小时来我一直在挠头
源代码中的第一行或第二行(要对代码utf8中的文字进行编码):
如果需要更多Python/utf8提示: http://mysql.rjweb.org/doc.php/charcoll#python
相关问题 更多 >
编程相关推荐