我在本地计算机和服务器上都输入了"久保充明",
1)第一个问题
local - python2.7.10 -韩国计算机
>>> a = "久保充明"
>>> a
'\xce\xf9\xdc\xc1\xf5\xf6\xd9\xa5'server - python2.7.6 -(日语服务器?)
>>> a = "久保充明"
>>> a
'\xe4\xb9\x85\xe4\xbf\x9d\xe5\x85\x85\xe6\x98\x8e'两者都显示出不同的结果。
有没有人说出结果不同的原因?也许操作系统语言不同??
2)第二个问题为什么Python会显示这个?
'\xce\xf9\xdc\xc1\xf5\xf6\xd9\xa5' (<- what is this??)而不是这个?
"久保充明"发布于 2016-03-18 17:34:06
您正在使用Python2,并且在本地计算机上使用本地编码编写字符;我不知道这是什么;它既不是UTF-8,也不是GB2312、18030、Big5或Shift-JIS:
>>> print('\xce\xf9\xdc\xc1\xf5\xf6\xd9\xa5'.decode('GB2312'))
矽芰貊佶
>>> print('\xce\xf9\xdc\xc1\xf5\xf6\xd9\xa5'.decode('GB18030'))
矽芰貊佶
>>> print('\xce\xf9\xdc\xc1\xf5\xf6\xd9\xa5'.decode('Big5'))
朏僋蘜晱
>>> print('\xce\xf9\xdc\xc1\xf5\xf6\xd9\xa5'.decode('Shift-jis'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'shift_jis' codec can't decode bytes in position 1-2: illegal multibyte sequence在服务器上,您正在使用UTF-8。
您应该始终使用UTF-8/Unicode;实际上,Python3指定UTF-8是默认的源代码编码。
# -*- coding: utf-8 -*-并使用u'' unicode字符串。如果可能,考虑切换到Python 3;它也可能解决问题2的问题。
发布于 2016-03-18 17:22:01
写入文件test.py
# -*- coding: utf-8 -*-
a = "久保充明"
print(a)https://stackoverflow.com/questions/36080366
复制相似问题