3

私はプログラミングは初めてですが、Google の使い方は知っているので、多くの試行錯誤を経て、これについて助けを求めることを敢えてお願いします。

さらに処理するために、mysql-python (MySQLdb) を使用して IPython Notebook にフェッチしたい utf-8 でエンコードされたテキスト (スウェーデン語) を含む MySQL データベース (データベース名: テキスト、テーブル名: テキスト) があります。

Unicode と UTF-8 に関する Python ドキュメント ( http://docs.python.org/2/howto/unicode.html ) を読みましたが、具体的なコード例を見つけることができませんでした。非常に些細な問題。

スウェーデン語のテキストを、特殊文字 åäö などを使用して IPython Notebook に表示したいだけです。ご覧のとおり、Web で見つけた Unicode と UTF-8 に関するすべてのコード スニペットを多かれ少なかれ入れましたが、どこで間違いを犯したのか理解できませんか?

誰かが私を助けてくれますか?

# -*- coding: utf-8 -*-
import MySQLdb
db = MySQLdb.connect('localhost', 'user', 'password', 'text', charset='utf8', use_unicode=False)
db.set_character_set('utf8')
cursor = db.cursor()
cursor.execute('SET NAMES utf8')
cursor.execute('SET CHARACTER SET utf8')
cursor.execute('SELECT title, body FROM text LIMIT 5') 
result=cursor.fetchall()
 print result

更新: これは Print ステートメントから返されるものです: (('F\xc3\xb6rsta rubriken', 'H\xc3\xa4r \xc3\xa4r lite text p\xc3\xa5 svenska'), ('Andra rubriken' , 'Ytterligare lite text p\xc3\xa5 ett annat spr\xc3\xa5k'))

4

1 に答える 1

2

タプルであるカーソル呼び出しの結果を出力しています。そして、あなたはそれのPython表現を見ています。

ループすると、期待される結果が表示されます。

>>> for i in result:
...    print "{} {}".format(*i)
... 
Första rubriken Här är lite text på svenska
Andra rubriken Ytterligare lite text på ett annat språk

出力が上記と一致しない場合は、端末が UTF-8 をサポートしていないことを意味します。

于 2013-01-30T10:36:00.833 に答える