pyMySQL设置连接字符集

时间:2012-06-18 12:29:30

标签: python mysql unicode pymysql

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

我正在努力争取unicode。用户有时会粘贴他们从Word复制的内容,并且会使用旧的智能引号u'\u201c'进行粘贴。

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

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

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

1 个答案:

答案 0 :(得分:56)

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

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

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

解决了我的问题。