当我尝试使用 python MySQLdb 插入右双引号 (”) 时,它会生成UnicodeEncodeError: 'latin-1' codec can't encode character u'\u201d' in position 0: ordinal not in range(256)
. python MySQLdb 默认使用 latin-1 编解码器,从 中的 index.xml 文件中/usr/share/mysql/charsets/
,它被描述为 cp1252 West European。因此,我认为 latin1 也将涵盖 cp1252 字符。但是 latin1 不会覆盖 cp1252 字符,如果它们覆盖,我将不会收到错误。
右双引号位于 cp1252 字符集中,但不在 ISO 8859-1(或 latin1)字符集中。
中没有cp1252.xml
文件/usr/share/mysql/charsets/
。为什么 python MySQLdb 缺少 cp1252 字符集?
或者是否与他们在中描述的latin1
相同。cp1252
index.xml