这是Python 2.4。我的情况如下:我从数据库中获取一个字符串,其中包含一个带分音符的 'o'(\xf6)。此时,如果我运行type(value),它会返回str。然后我尝试运行.decode('utf-8'),但我收到一个错误('utf8'编解码器无法解码第1-4个位置的字节)。
我的目标是让type(value)成功返回unicode。我找到了一个较早的问题,其中有一些有用的信息,但是选定答案的示例似乎对我无效。我在这里做错了什么吗?
以下是一些复制代码:
我从未真正执行写入语句,因为它在第一条语句上失败。
谢谢你的帮助。
编辑:
我验证了数据库的字符集是utf8。因此,在我用于复制的代码中,我将'\xf6'更改为'\xc3\xb6',但仍然失败。'utf-8'和'utf8'之间有区别吗?
使用编解码器将内容写入文件的提示很有用(我肯定会使用它),但在这种情况下,我只是为了调试目的而写入日志文件。
我的目标是让type(value)成功返回unicode。我找到了一个较早的问题,其中有一些有用的信息,但是选定答案的示例似乎对我无效。我在这里做错了什么吗?
以下是一些复制代码:
Name = 'w\xc3\xb6rner'.decode('utf-8')
file.write('Name: %s - %s\n' %(Name, type(Name)))
我从未真正执行写入语句,因为它在第一条语句上失败。
谢谢你的帮助。
编辑:
我验证了数据库的字符集是utf8。因此,在我用于复制的代码中,我将'\xf6'更改为'\xc3\xb6',但仍然失败。'utf-8'和'utf8'之间有区别吗?
使用编解码器将内容写入文件的提示很有用(我肯定会使用它),但在这种情况下,我只是为了调试目的而写入日志文件。
decode
。 - elo80ka