2016-11-08 4 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時間後にコンソールが、私は次金曜日にsubmition日前pythonでカードにスーツシンボルを印刷する3

答えて

0

()を設定しPYTHONIOENCODINGシステム変数をこれをしなければならない、私は本当に助けを必要とするあらゆる意味 がありません代わりに、例えばēのラテン文字の印刷を開始します:

set "PYTHONIOENCODING=UTF-8" 

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

スクリプト(すべてsys.stdout = …ものがコメントアウトされていることに注意してください):(オープンcmd窓からCopy&Paste

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

print('♥') 

出力

==> 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