0

英語以外のテキストを辞書に追加すると、「\xe0\xa6\xb9\xe0\xa6\xb0\xe0\xa6\x」のようなテキストが生成されます。

Example:
obj = {}
title = 'non english text'
print "title ...",title
obj['title'] = title
print obj

その戻り:

    title... non english text
   {'title': '\xe0\xa6\xb9\xe0\xa6\'}

任意のアイデア、どうすれば修正できますか?

前もって感謝します。

4

2 に答える 2

3

UTF-8 でエンコードされたデータを見ています。

>>> '\xe0\xa6\xb9\xe0\xa6\xb0'.decode('utf8')
u'\u09b9\u09b0'
>>> print '\xe0\xa6\xb9\xe0\xa6\xb0'.decode('utf8')
হর

それを Unicode テキストにデコードするには、 を使用します.decode('utf8')。その文字列を端末に直接出力し、端末が UTF-8 を処理するように構成されている場合、それらの文字はデコードされて表示されますが、dict表現は含まれているデータの python リテラル表現を示しています。

Python Unicode HOWTOThe Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)をお読みください。

于 2013-01-31T14:57:04.940 に答える
0

これはUnicode処理エラーです。Python 3では、すべてtextunicode-試してみてください。ASCII以外の文字セットでの例が機能するはずであり、頭痛の種を減らすことができます。

Python 2.xに固執している場合は、Martijnが言っていることに注意してください。

于 2013-01-31T15:09:55.273 に答える