python - pyMySQL 设置连接字符集

标签 python mysql unicode pymysql

我正在使用 Flask 和 MySQL 开发一个相当简单的网络应用程序。

我正在为 unicode 苦苦挣扎。用户有时会粘贴他们从 Word 中复制的内容,而这些内容会被旧的智能引号覆盖 u'\u201c'

一些调查显示我与 MySQL 的连接使用的是 Latin1 字符集(似乎是默认值)。

如何指定它使用 unicode 进行连接?

我正在使用 pyMySQL,它声称是 MySQLdb 的直接替代品。 MySQLdb 为 connection 对象定义了一个 set_character_set(self, charset) 函数,但是 pyMySQL 没有(如果我尝试会出错)。

最佳答案

我通过在 pyMySQL source 中查找解决了这个问题(我试过了,但找不到合适的地方!)。

您可以在创建连接时指定它:

conn = pymysql.connect(host='localhost',
                       user='username',
                       passwd='password',
                       db='database',
                       charset='utf8')

解决了我的问题。

关于python - pyMySQL 设置连接字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11082909/

相关文章:

python - Scrapy Json 输出上的 Unicode

python-requests 发出 GET 而不是 POST 请求

python - 如何同时使用 gtk3 和 opengl?

python - 解码 self.request.body

mysql - 为什么我不能在 MySQL 中使用 ">"比较日期?

mysql - 查询数据包过大 MySQL

python - 语法错误if,elif语句

c# - 选择表在超时结束

json - django rest-framework api 和 unicode 字符

xml - VB.net读取编码错误的XML文件