我有一个阿拉伯文unicode字符串,我想用Python(在windows7上使用Python(x,y))打印出来,但是我无法打印它,只打印出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
时,它给出以下错误
当我编码字符串时,比如用cp1256(Windows阿拉伯语),它给出了一个错误的表示:
print ss.encode('cp1256')
åÐÇ åæ ÇáÍá ÇáæÍíÏ ááãÔßáÉ ÇáÊí äæÇÌååÇ
我在这里已经讨论了几个与在Windows上从Python打印unicode有关的问题,但是似乎没有任何工作。在
有什么想法吗?在
谢谢。在
更新: 我使用的是Spyder IDE(在Windows7上与Python(x,y)捆绑在一起)。在
更新2: 我已经尝试过“重复”问题中的所有解决方案,但都没有奏效。在
您的控制台配置为显示代码页1252(拉丁语1),它确实无法处理您的代码点。将您的控制台切换到另一个可以显示字符的代码页。在
你可以切换到1256:
或者切换到65001(UTF-8代码页),它应该能够处理任何unicode代码点。不过,您可能需要切换主机使用的字体;据报道,lucidasans显示了大部分Unicode。在
相关问题 更多 >
编程相关推荐