2
#!/usr/bin/env python
# -*- coding: utf-8 -*- 

import MySQLdb

conn = MySQLdb.connect('localhost', 'django_user', 'haha123', 'mydb')
cur = conn.cursor()

f = open('/home/kave/projects/cb/database/country_code_drupal_nov_2011.txt')

cur.execute("INSERT INTO myapp_app_currency (currency) VALUES ('USD - $'),('EUR - €'), ('GBP - £'), ('CAD - $'), ('AUD - $'), ('BRL - R$');")

何らかの理由で、このデータをデータベースに正常に挿入できますが、2 つのエントリが破損します。

EUR - € becomes EUR - €
GBP - £ becomes GBP - £

utf8 に設定したと思っていたのですが、ロールするはずですが、なぜこの 2 文字だけに問題があるのでしょうか?

4

1 に答える 1

3

データベースに接続するときに文字セットを設定してみてください。

conn = MySQLdb.connect('host', 'usr', 'pass', 'db', charset='utf8')

ドキュメントで使用する# -*- coding: utf-8 -*-と、ソース コード ドキュメントにのみ適用され、実行内容には適用されません

于 2012-11-09T21:47:43.863 に答える