我試圖使用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