栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

UnicodeEncodeError:“ latin-1”编解码器无法编码字符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

UnicodeEncodeError:“ latin-1”编解码器无法编码字符

字符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字符串(通过在字符串列上设置数据库连接和排序规则),这样它就可以正确区分大小写并进行排序。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/400687.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号