我对python字符集和德语字符有问题。我正在尝试使用mysqldb从数据库中获取字符串尝试以下操作:
array=result.fetch_row()[0]
如果我打印数组,我会得到所有值和字符串“f\xfcr”<;——这就是我需要的。在
但是如果我打印array[stringlocation]
,我得到代表66fc72的'f�r'
(为什么不再是unicode了?)在
如果我把它写到一个文件:'fÃŒr'
或十六进制66 C3 BC 72
我认为这不是mysqldb的问题。我得不到我需要的炭。在
注意:我使用的是集合名称拉丁1。如果我使用utf8,我将得到双倍数:f\xc3\xbcr
谢谢你的帮助!在
如果
'f\xfcr'
是从数据库返回的内容,并且与您需要写入文件的内容相同,则唯一的问题是打印时显示的内容。为此你需要做一个翻译。在这是因为
print
命令将自动将decode
生成的Unicode转换回显示器使用的字符集。在相关问题 更多 >
编程相关推荐