1

所以我试图将此行加载为模型的名称:

"Auf der grünen Wiese (1953)"

但我得到了错误

UnicodeDecodeError: 'utf8' codec can't decode byte 0xfc in position 70: invalid start byte

我正在查看:http ://docs.python.org/2/howto/unicode.html#the-unicode-type 但我仍然不确定如何解决这个问题。我可以将其转换为带有替换/忽略错误选项的 unicode,但我认为这不是最理想的解决方案?

我还看到 django 提供了一些功能来帮助解决这些问题:https ://docs.djangoproject.com/en/dev/ref/unicode/但我仍然不太确定如何处理它。

4

1 回答 1

3

该行使用 进行编码latin1。要正确解码它,您应该这样做(假设 Python 2.x):

line = 'Auf der gr\xfcnen Wiese (1953)'
name = line.decode('latin1')

如果您正在从文件中读取此内容,您还可以执行以下操作:

f = codecs.open(path, 'r', 'latin1')
name = f.readline().strip()
于 2013-10-12T04:51:44.653 回答