0

我正在尝试在导入 CSV 文件时解决此问题。我尝试保存一个包含 latin-1 字符的字符串变量,当我尝试打印它们时,它会将其更改为编码。我能做些什么来保持编码吗?我只想保持角色原样,没有别的。

这是问题所在(从 Django 的管理 shell 中可以看出)

>>> variable = "{'job_title': 'préventeur'}"
>>> variable
"{'job_title': 'pr\xc3\xa9venteur'}"

为什么 Django 或 Python 会自动更改字符串?我必须更改字符集还是什么?

任何事情都会有所帮助。谢谢!

4

3 回答 3

1

您的终端正在输入编码字符;您使用的是UTF -8,因此 Python在您输入é.

在这种情况下从 UTF-8 解码:

>>> print 'pr\xc3\xa9venteur'.decode('utf8')
préventeur

不过,您真的很想阅读 Python 和 Unicode:

于 2013-02-06T01:54:57.273 回答
0
"{'job_title': 'pr\xc3\xa9venteur'}"

这些字符已为您编码为 UTF-8,这非常好,因为如果您重视自己的理智,就不想坚持使用 Latin-1。转换为 Unicode 以获得最佳效果:

>>> '\xc3\xa9'.decode('UTF-8')
u'é'
于 2013-02-06T01:55:44.797 回答
0

您是否尝试过使用 print 语句?

>>> variable = "{'job_title': 'préventeur'}"

>>> variable
"{'job_title': 'pr\x82venteur'}"

>>> repr(variable)
'"{\'job_title\': \'pr\\x82venteur\'}"'

>>> print variable
{'job_title': 'préventeur'}
于 2013-02-06T01:56:13.240 回答