9

アーカイブされたWebクロールから文字列を印刷しようとしていますが、印刷すると次のエラーが発生します。

print page['html']
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe7' in position 17710: ordinal not in range(128)

印刷してみると、次のunicode(page['html'])ようになります。

print unicode(page['html'],errors='ignore')
TypeError: decoding Unicode is not supported

この文字列を適切にコーディングする方法、または少なくとも印刷する方法はありますか?ありがとう。

4

1 に答える 1

22

保存したUnicodeをデコードするのではなく、表示するためにエンコードする必要があります。unicodeはエンコードされていない形式です。コードを移植できるように、常にエンコーディングを指定する必要があります。「通常の」ピックは次のとおりです。utf-8

print page['html'].encode('utf-8')

エンコーディングを指定しない場合、それが機能するかどうかはprint、エディタ、OS、ターミナルプログラムなどの目的によって異なります。

于 2012-04-25T19:31:11.450 に答える