Python Django拉丁字符不起作用
我试图在导入CSV文件时解决此问题。我尝试保存一个包含拉丁1字符的字符串变量,当我尝试打印它们时,它会将其更改为编码。我能做些什么来保持编码吗?我只是想保持角色的原样,没有别的 这就是问题所在(从Django的ManageShell中可以看出)Python Django拉丁字符不起作用,python,django,encoding,decoding,latin1,Python,Django,Encoding,Decoding,Latin1,我试图在导入CSV文件时解决此问题。我尝试保存一个包含拉丁1字符的字符串变量,当我尝试打印它们时,它会将其更改为编码。我能做些什么来保持编码吗?我只是想保持角色的原样,没有别的 这就是问题所在(从Django的ManageShell中可以看出) >>> variable = "{'job_title': 'préventeur'}" >>> variable "{'job_title': 'pr\xc3\xa9venteur'}" 为什么Django或Pyt
>>> variable = "{'job_title': 'préventeur'}"
>>> variable
"{'job_title': 'pr\xc3\xa9venteur'}"
为什么Django或Python会自动更改字符串?我必须更改字符集还是其他什么
一切都会有帮助的。谢谢!您的终端正在输入编码字符;您正在使用UTF-8,因此当您键入
é时,Python将接收两个字节
在这种情况下,从UTF-8解码:
>>> print 'pr\xc3\xa9venteur'.decode('utf8')
préventeur
不过,您确实想了解Python和Unicode:
- 内德·巴奇尔德
- 乔尔斯波尔斯基
字符已被编码为UTF-8,这非常好,因为如果您重视自己的理智,您不想坚持使用拉丁语-1。请转换为Unicode以获得最佳结果:
>>> '\xc3\xa9'.decode('UTF-8')
u'é'
你试过用打印语句来代替吗
>>> variable = "{'job_title': 'préventeur'}"
>>> variable
"{'job_title': 'pr\x82venteur'}"
>>> repr(variable)
'"{\'job_title\': \'pr\\x82venteur\'}"'
>>> print variable
{'job_title': 'préventeur'}
>>> variable = "{'job_title': 'préventeur'}"
>>> variable
"{'job_title': 'pr\x82venteur'}"
>>> repr(variable)
'"{\'job_title\': \'pr\\x82venteur\'}"'
>>> print variable
{'job_title': 'préventeur'}