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

在 python 3 中,您只能对字符串进行编码。如果您当前有字节,那是因为您的方法正在返回它们。例如,如果您从文件中读取字节,则应尽快将它们解码为字符串。只有这样,您才能将它们编码为 utf-8。

于 2012-12-22T20:30:15.177 回答
0

问题已解决,我为写入而打开的文件没有像 utf-8 那样打开。因此,当我将“打开命令”更改为以下内容时:

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

一切似乎都解决了。

谢谢 !

于 2012-12-26T08:54:45.603 回答