19

Flask と MySQL を使用して、かなり単純な Web アプリを開発しています。

私はユニコードに苦労しています。ユーザーは、Word からコピーしたものを貼り付けることがありますが、古いスマート クォートが表示されますu'\u201c'

少し調査したところ、MySQL への接続でLatin1文字セットが使用されていることがわかりました (デフォルトのようです)。

接続にユニコードを使用するように指定するにはどうすればよいですか?

私は pyMySQL を使用しています。これは、MySQLdb のドロップイン代替品であるとされています。MySQLdb はオブジェクトのset_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 に答える