我使用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,但我不知道爲什麼)
基本健全檢查:你曾嘗試:進口SYS 重裝(SYS) sys.setdefaultencoding函數( 'UTF-8') –
感謝,但據我所知,重裝(SYS)在python 3.4不起作用。 –
我不確定重裝是必要的,但在以下情況下:https://docs.python.org/3/library/imp.html#imp.reload –