2016-03-24 11 views
0

"obra鑾n"という1行だけのinput.txtファイルがあります。私がその漢字を入手したのはa separate problemです。ここでは言及したくありません。ここでは、Windows上でPython 3を使用してコマンドラインでそのファイルの内容を印刷したいと思います(Linuxではこの問題はありません)。fixed UnicodeEncodeError: 'charmap'コーデックはpython3で文字をエンコードできません

私は今この問題を1時間捜していますが、解決策を考え出すことなく、私の心を失ってしまいました。ラインが同じでコメント最初の二つの

<class 'str'> 
<class 'bytes'> 
b'obra\xe9\x91\xben\n' 

エラー:

# -*- coding: utf-8 -*- 
f = open("input.txt", encoding='utf8') 
s = f.read() 

print(type(s)) 
#print(s) #error 
b = s.encode('utf-8') 
print(type(b)) 
print(b) 
#print(b.decode("utf-8")) #error 
#print(b.decode('unicode_escape')) #error 

このコードの出力は次のとおりです。ここで私が得たどのくらいある最後のコメント行に

UnicodeEncodeError: 'charmap' codec can't encode character '\u947e' in position 4: character maps to <undefined> 

エラーは:

UnicodeEncodeError: 'charmap' codec can't encode character in position 5-6: character maps to <undefined> 

私は今何をすべきかアイデアを実行しています。どのようにPython 3を使用してWindowsのコマンドラインでこのファイルの内容を印刷するための任意のアイデア?

ありがとうございました。

答えて

1

システムのロケールがアジア言語のロケールでない限り、Windowsのコマンドラインには通常、アジア言語の文字をサポートするフォントがありません。システムロケールは、コントロールパネル、地域と言語、管理タブ(Windows 7)で変更できます。

それ以外の場合は、win-unicode-consoleを試すことができますが、アジア系の文字をサポートする固定幅のコンソールフォントを見つける必要があります。

Installing console fonts

+0

これは、他のWindowsコンソールをインストールすることで固定することができ、またはフォントがインストールされていない場合は、すべてのコンソールは、この問題を持っているのだろうか? – dijxtra

+1

@dijxtra、Python IDEを使うことができます。コンソールは、少数の固定フォントに制限されています。 IDLEにはPythonが付属していますが、他にも多くのものがあります。 –

関連する問題