当前位置: 首页 > 知识库问答 >
问题:

Python3编码mysql数据库

孙胜泫
2023-03-14
  • 我发出一个请求,该请求以json utf-8(带元组的dict)响应

如果没有string.encode('utf-8'),我将得到一个UnicodeEncodeError,所以似乎有必要对字符串进行编码

UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 147: ordinal not in range(128)

我举一个例子:

  • json中的字符串:'quäloan'
  • 编码后的字符串:'qu\xC3\xA4loan'
  • 在数据库中插入:'qu借出'

我的猜测是,数据库处理编码的utf-8字符串仍然是拉丁语-1,但是当我插入一些未编码的样本utf-8字符串时,它就工作了。所以数据库可以正确处理它,但不能使用编码字符串。

共有1个答案

翟俊名
2023-03-14

不要使用任何编码/解码函数;这只会让事情变得更糟。

ä在UTF-8中正确地C3A4(MySQL的CHARACTER SETutf8或utf8mb4)。

是Mojibake。http://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what-i-stored搜索是什么导致了这种情况,以及你需要做些什么来避免它。

“ascii”和“latin-1”在哪里涉及尚不清楚;避开它们FC是拉丁文1表示u

更多python注释:http://mysql.rjweb.org/doc.php/charcoll#python

 类似资料:
  • 本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 PyMySQL 安装 在使用

  • 我正在使用python3,我在对象的表示方面遇到了问题。 它是,这是一个字节数组,但是当我把它传递给另一个函数时,python把它解释为一个字符串,这不是 。 b'N\x00e\x00l\x00\x00s\x00o\x00t\x00t\x00o\x00s\x000i\x00d\x00e_x00e\\x00m\x00a\x00\\x00W\x00i\x000n\x00d_x00W\x000s\x00

  • 问题内容: 我正在编写一个特定于美国的Web应用程序,因此其他国家/地区用于邮政编码的格式并不重要。我有一份我们要加载到包含以下内容的数据库表中的邮政编码列表: 5位美国邮政编码 纬度 经度 usps分类代码 状态码 城市 邮政编码是主键,因为这是我要查询的内容。我开始使用中型int 5,但是它会截断前导零的邮政编码。 我考虑使用char5,但担心对char变量建立索引会对性能造成影响。 所以我的

  • 我有一个带有一些特殊字符的mysql数据库,一个输入表单,一些PHP页面。 > 这个页面发送(通过GET)一个参数到另一个php页面(ResultsPage)。 最后这个php页面(ResultsPage)向dbms发送一个带有参数的查询并显示结果。 RequestPage编码为utf-8至 meta http equiv=“Content Type”Content=“text/html;char

  • 本文向大家介绍python3+PyQt5 数据库编程--增删改实例,包括了python3+PyQt5 数据库编程--增删改实例的使用技巧和注意事项,需要的朋友参考一下 本文通过python3+pyqt5改写实现了python Qt gui 编程变成15章的excise例子。 运行结果: 以上这篇python3+PyQt5 数据库编程--增删改实例就是小编分享给大家的全部内容了,希望能给大家一个参考

  • 本文向大家介绍Python3实现的Mysql数据库操作封装类,包括了Python3实现的Mysql数据库操作封装类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python3实现的Mysql数据库操作封装类。分享给大家供大家参考,具体如下: 这段代码需要注意几个地方: 1.数据库配置文件变量放在类外面,只在模块被载入的时候读一次,在使用数据库类时,无需再读取。这样有一个好处就是减少了IO