0

次のコードを使用して (ファイルに) UTF-8 str を出力しています。

output.write(currentWord.m_wordHeb)

また試しました:

output.write(currentWord.m_wordHeb.encode('utf-8')

また、次のように追加しました。

import sys
import codecs

sys.stdout = codecs.getwriter('utf8')(sys.stdout)

エラーが発生し続けます...通常はこれです:

UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-2: character maps to <undefined>

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

4

2 に答える 2

0

問題が解決しました。書き込み用に開いたファイルが、utf-8の場合のように開かれませんでした。したがって、「openコマンド」を次のように変更した場合:

codecs.open("C:\\NLP\\output.txt", "w", "utf-8" )

すべてがうまくいくようです。

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

于 2012-12-26T08:54:45.603 に答える
0

Python 3 では、文字列のみをエンコードできます。現在、代わりにバイトがある場合は、メソッドがそれらをそのまま返しているためです。たとえば、ファイルからバイトを読み取る場合は、できるだけ早く文字列にデコードする必要があります。そうして初めて、それらを utf-8 にエンコードできます。

于 2012-12-22T20:30:15.177 に答える