我试图使用UTF-16乐编码在python非ASCII字符,这里是代码的这个片断:使用UTF-16编码
import os
import sys
def run():
print sys.getdefaultencoding()
reload(sys)
sys.setdefaultencoding('utf-16-le')
print sys.getdefaultencoding()
test_dir = unit_test_utils.get_test_dir("utkarsh")
dir_name_1 = '東京'
....
....
if __name__ == '__main__':
run()
当这个代码运行,这是看到的错误:
# /u/bin/python-qs /root/python/tests/abc.py -c /root/test.conf
File "/root/python/tests/abc.py", line 27
SyntaxError: Non-ASCII character '\xe6' in file /root/python/tests/abc.py on line 27, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
这怎么解决?我想加入这一行的文件的开头,但无济于事:
# -*- coding: utf-16-le -*-
的错误,这一次是:
# /u/bin/python-qs /root/python/tests/abc.py -c /root/test.conf
File "/root/python/tests/abc.py", line 2
import os
import sys
...
...
if __name__ == '__main__':
run()
^
SyntaxError: invalid syntax
编辑:
第27行:dir_name_1 ='东京'
您能否包含产生此错误的完整示例? – 2016-04-21 08:27:36
你的源代码是用utf-16编码编写的吗?用'file abc.py'检查。 –
@MichelBillaud输出:UTF-8 Unicode Java程序文本 – Maddy