Python で (Windows 7 で Python(x,y) を使用して) 印刷したいアラビア語の Unicode 文字列がありますが、印刷することができず、Unicode 表現のみが印刷されます。
文字列は次のように定義されます。
ss = u'\u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u062d\u0644 \u0627\u0644\u0648\u062d\u064a\u062f \u0644\u0644\u0645\u0634\u0643\u0644\u0629 \u0627\u0644\u062a\u064a \u0646\u0648\u0627\u062c\u0647\u0647\u0627'
次のようになります。
試してみるとprint
、次のエラーが発生します
print ss
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\encodings\cp1252.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-2: character maps to <undefined>
たとえば、cp1256 (Windows アラビア語) で文字列をエンコードすると、間違った表現が得られます。
print ss.encode('cp1256')
åÐÇ åæ ÇáÍá ÇáæÍíÏ ááãÔßáÉ ÇáÊí äæÇÌååÇ
Windows で Python から Unicode を印刷することに関連するいくつかの質問をここで見ましたが、何も機能していないようです。
何か案は?
ありがとう。
更新: Spyder IDE を使用しています (Windows 7 では Python(x,y) にバンドルされています)。
UPDATE2: 「重複した」質問のすべてのソリューションを既に試しましたが、どれも機能しませんでした。