2015-06-20 129 views
0

我使用this question提到的腳本,檢查編碼:蟒蛇3.4編碼在Windows 8.1

import sys, locale, os 
print(sys.stdout.encoding) 
print(sys.stdout.isatty()) 
print(locale.getpreferredencoding()) 
print(sys.getfilesystemencoding()) 
print(os.environ["PYTHONIOENCODING"]) 
print(chr(246), chr(9786), chr(9787)) 

,我獲得(蟒蛇3.4,Windows 8.1中):

windows-1252 
False 
cp1252 
mbcs 
windows-1252 
ö Traceback (most recent call last): 
    File "C:/Users/.../UTF8-comprovacio.py", line 8, in <module> 
    print(chr(246), chr(9786), chr(9787)) 
    File "C:\Python34\lib\encodings\cp1252.py", line 19, in encode 
    return codecs.charmap_encode(input,self.errors,encoding_table)[0] 
UnicodeEncodeError: 'charmap' codec can't encode character '\u263a' in position 0: character maps to <undefined> 

我試圖改變Windows 8.1編碼(例如,我添加了一個名爲「PYTHONIOENCODING」的環境變量,即utf8值),但結果總是相同的。如何在Windows 8.1中更改PYTHONIOENCODING的編碼和值? (事實上​​,我有另一臺電腦,也與Windows 8.1,顯示正確的值,utf-8,但我不知道爲什麼)

+0

基本健全檢查:你曾嘗試:進口SYS 重裝(SYS) sys.setdefaultencoding函數( 'UTF-8') –

+0

感謝,但據我所知,重裝(SYS)在python 3.4不起作用。 –

+0

我不確定重裝是必要的,但在以下情況下:https://docs.python.org/3/library/imp.html#imp.reload –

回答

1

我上週same problem ...我最終只是改變在IDE中。不知道你的IDE,但是如果PyCharm從菜單欄開始:文件 - >設置... - >編輯器 - >文件編碼,然後設置:「IDE編碼」,「項目編碼」和「屬性的默認編碼文件「全部轉換爲UTF-8,她現在就像一個魅力。

也許您的個人都有類似的選擇。

+0

這實際上是問題。非常感謝你! –

+0

高興地幫助...請隨時標記爲答案。 – CLaFarge