19

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

我正在努力使用 unicode。用户有时会粘贴他们从 Word 中复制的内容,而旧的智能引号会导致这些内容失效u'\u201c'

一点点调查表明,我与 MySQL 的连接正在使用Latin1字符集(似乎是默认值)。

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

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

4

1 回答 1

65

我通过在pyMySQL 源代码中四处寻找来解决这个问题(我试过了,但找不到正确的地方!)。

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

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

解决了我的问题。

于 2012-06-18T12:47:28.980 回答