-1

Python charset とドイツ語の文字に問題があります。これを試して、mysqldbを使用してデータベースから文字列を取得しようとしています:

array=result.fetch_row()[0]

配列を印刷すると、すべての値と文字列 'f\xfcr' が得られます <- これが必要です。

しかし、私が印刷するarray[stringlocation]と、'f�r'それは 66 fc 72 を表します (なぜこのユニコードはもうないのですか?)

これをファイルに書き込む場合:'fÃŒr'または hex 66 C3 BC 72

それはmysqldbの問題ではないと思います。必要な文字を取得できません。

注: セット名 latin1 を使用しています。utf8 を使用すると、double が取得されます。f\xc3\xbcr

ご協力ありがとうございました!

4

1 に答える 1

1

がデータベースから返されたもので、ファイル'f\xfcr'に書き込む必要があるものと同じである場合、唯一の問題は、それを印刷したときに表示されるものです。そのためには、翻訳を行う必要があります。

>>> print 'f\xfcr'.decode('latin1')
für

これが機能するのは、コマンドが によって生成された Unicodeをディスプレイで使用されている文字セットにprint自動的に変換するためです。decode

于 2012-08-08T22:00:16.253 に答える