2016-11-08 23 views
0
# -*- coding: utf-8 -*- 
import sys 
from io import TextIOWrapper 
sys.stdout = TextIOWrapper(sys.stdout.buffer, encoding='UTF-8', errors='replace') 

print('♥') 

我有打印出在Windows控制檯的西裝符號我在網上搜索2天的問題,但什麼也沒發現如何使控制檯能夠打印這些符號。它似乎可以在Linux等任何其他平臺上工作......我嘗試了上面提供的解決方案來導入一些模塊並更改系統的編碼。它的工作原理,但在2小時後啓動控制檯打印的拉丁字符,而不是如E不作任何意義 我真的需要幫助,我對submition前一天要做到這一點在下週五打印出牌西服符號3

回答

0

()設置PYTHONIOENCODING系統變量:

set "PYTHONIOENCODING=UTF-8" 

()Change the active console Code Page to UTF-8

腳本(注意,所有的sys.stdout = …東西被註釋掉):

# -*- coding: utf-8 -*- 
# import sys 
# from io import TextIOWrapper 
# sys.stdout = TextIOWrapper(sys.stdout.buffer, encoding='UTF-8', errors='replace') 

print('♥') 

輸出Copy&Paste從打開cmd窗口):

==> set pyth 
PYTHONIOENCODING=UTF-8 

==> chcp 
Active code page: 852 

==> D:\test\Python\40496821.py 
ÔÖą 

==> chcp 437 
Active code page: 437 

==> D:\test\Python\40496821.py 
ΓÖÑ 

==> chcp 65001 
Active code page: 65001 

==> D:\test\Python\40496821.py 
♥ 

==> 
+0

抱歉,但我沒有通過更改主動控制檯模式獲得你的意思 –

+0

@FaisalJulaidan請[編輯你的問題](http://stackoverflow.com/posts/40496821/ed它),並提供什麼你得到各種'chcp's(像我一樣)。閱讀[改變Python的默認編碼?](http://stackoverflow.com/questions/2276200/changing-default-encoding-of-python)。 – JosefZ

+0

在Windows 7上,在Python中導致'LookupError:unknown encoding:cp65001'。 – zvone