首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用cp1252插入MySQLdb字符?

如何使用cp1252插入MySQLdb字符?
EN

Stack Overflow用户
提问于 2018-12-18 08:00:51
回答 1查看 1.3K关注 0票数 0

当我试图使用python MySQLdb插入正确的双引号(“)时,它会生成UnicodeEncodeError: 'latin-1' codec can't encode character u'\u201d' in position 0: ordinal not in range(256)。python MySQLdb默认使用拉丁文-1编解码器,从/usr/share/mysql/charsets/中的index.xml文件中可以看出,它被描述为cp1252西欧。因此,我认为latin1也将涵盖cp1252字符。但是latin1不会覆盖cp1252字符,如果它们覆盖了,我将不会得到错误。

正确的双引号位于cp1252字符集中,而不是在ISO8859-1(或latin1)字符集中。

cp1252.xml中没有/usr/share/mysql/charsets/文件。为什么python MySQLdb缺少cp1252字符集?

或者latin1是否与他们在index.xml中描述的cp1252相同。

EN

回答 1

Stack Overflow用户

发布于 2018-12-20 03:47:52

你真的需要cp1252而不是utf-8?我强烈建议使用utf-8。

你需要的是:

  • charset="utf8mb4"选项传递给MySQLdb.connect()
  • 将数据库配置为使用utf-8。

您可以通过CREATE DATABASE <your db name> DEFAULT CHARACTER SET utf8mb4使用utf-8创建数据库。

如果您已经拥有数据库,则可以通过ALTER DATABASE <your db name> CHARACTER SET utf8mb4更改默认字符集。但是,您也需要更改数据库中现有表的所有字符集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53828618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档