
字符U + 201C左双引号在Latin-1(ISO-8859-1)编码中不存在。
这 是
目前在代码页1252(西欧)。这是Windows特定的编码,基于ISO-8859-1,但会将多余的字符放入0x80-0x9F范围内。代码页1252通常与ISO-8859-1混淆,这是一种令人烦恼但现在是标准的Web浏览器行为,如果您将页面作为ISO-8859-1提供服务,则浏览器会将它们视为cp1252。但是,它们实际上是两种不同的编码:
>>> u'He said u201CHellou201D'.enpre('iso-8859-1')UnipreEnpreError>>> u'He said u201CHellou201D'.enpre('cp1252')'He said x93Hellox94'如果仅将数据库用作字节存储,则可以使用cp1252进行编码,
“以及Windows
Western代码页中的其他字符。但是cp1252中不存在的其他Unipre字符仍然会导致错误。
您可以
enpre(...,'ignore')通过消除字符来抑制错误,但实际上在本世纪,您应该在数据库和页面中都使用UTF-8。此编码允许使用任何字符。理想情况下,您还应该告诉MySQL您正在使用UTF-8字符串(通过在字符串列上设置数据库连接和排序规则),这样它就可以正确区分大小写并进行排序。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)