2012-08-06 11 views
8

私はUbuntu 12.04 LTSを使用しています。端末でこれを試してみると、Python print unicodeが正しいシンボルを表示しない

[email protected]:/usr/share/fonts/truetype/ttf-dejavu$ echo вдлжофыдвж 
вдлжофыдвж 

記号が正しく表示されます。 python 2.7を使用してUnicodeのシンボルを印刷しようとした場合しかし、私は取得この:

私は、端末のためにデフォルトでUTF-8エンコーディングを持っているのpythonが示すように
>>> print u'абв' 
ц│ц┌ц≈ 

:あなたの入力が不適切で解読されている

>>> sys.stdout.encoding 
'UTF-8' 
+0

あなたは 'repr(u'абв ')'のために何を得ますか? –

+0

これはpython 3.2で発生しますか? 'unicode( 'абв')'はどうでしょうか? –

+0

>>> repr( 'абв') '' \\ xc1 \\ xc2 \\ xd7 '" – sunprophit

答えて

5

ターミナル。これはPythonの問題ではありません。

、それを証明Unicode表現を使用するには:これは二回、元の文字列абвを印刷しない場合は

myunicode = u'\u0430\u0431\u0432' 
print myunicode 
print myunicode.encode('utf-8') 

、あなたは正しくお使いの端末エミュレータプログラムを設定する必要があります。

+1

偉大な、私はパテconfigでUTF-8に受信したデータ文字セットを変更しました。今それは動作します。 – sunprophit

関連する問題