Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python打印到终端shell unicode_Python_Encoding_Utf 8_Codec_Mojibake - Fatal编程技术网

Python打印到终端shell unicode

Python打印到终端shell unicode,python,encoding,utf-8,codec,mojibake,Python,Encoding,Utf 8,Codec,Mojibake,我正在用python解析一个很长的波斯语字符串,并以如下方式打开它: fp = codecs.open(f+i, 'r', encoding='utf-8').readlines() 和使用 print(line[1]) 但它不是打印出可读的波斯语,而是在终端中输出类似的内容 اط٠اعâرسا٠在网页上,它可以很好地输出它 有什么问题吗?谢谢你你在这里有一个好机会。第一个字符是代码点,编码为UTF-8,但随后解释为: 您的SSH shell在某个地方配置错误;

我正在用python解析一个很长的波斯语字符串,并以如下方式打开它:

fp = codecs.open(f+i, 'r', encoding='utf-8').readlines()
和使用

print(line[1])
但它不是打印出可读的波斯语,而是在终端中输出类似的内容

اطÙ
     اعâرساÙ
在网页上,它可以很好地输出它

有什么问题吗?谢谢你

你在这里有一个好机会。第一个字符是代码点,编码为UTF-8,但随后解释为:

您的SSH shell在某个地方配置错误;远程shell认为您正在使用UTF-8,而本地打印的UTF-8字节正在打印,就好像它们是CP1252字节一样

我能解释的是:

  • ا
    ->
  • Ø·
    ->
  • ر
    ->
  • س
    ->
Ù
字符是U+640到U+0660范围内任何事物的Mojibake起点;我们在这里看不到这两次出现的第二个字节。
字符也是如此;第二个字节无法在CP1252中打印,因此再次丢失

总的来说,我可以恢复的是:

>>> print u'اط - اع - رسا'.encode('cp1252').decode('utf8')
اط - اع - رسا
你在这里有一个好主意。第一个字符是代码点,编码为UTF-8,但随后解释为:

您的SSH shell在某个地方配置错误;远程shell认为您正在使用UTF-8,而本地打印的UTF-8字节正在打印,就好像它们是CP1252字节一样

我能解释的是:

  • ا
    ->
  • Ø·
    ->
  • ر
    ->
  • س
    ->
Ù
字符是U+640到U+0660范围内任何事物的Mojibake起点;我们在这里看不到这两次出现的第二个字节。
字符也是如此;第二个字节无法在CP1252中打印,因此再次丢失

总的来说,我可以恢复的是:

>>> print u'اط - اع - رسا'.encode('cp1252').decode('utf8')
اط - اع - رسا

您使用的是什么终端?导入系统的功能是什么;系统标准编码
show?这对您的控制台/终端正确吗?@merlin2011我使用的是SSH安全外壳这看起来像是UTF-8的ISO-8851-1 Mojibake。@MartijnPieters我以前在python脚本中使用过它,它工作正常,所以我不确定为什么这次在同一个终端上它不工作。您使用的是什么终端?
import sys;系统标准编码
show?这对您的控制台/终端正确吗?@merlin2011我使用的是SSH安全外壳这看起来像是UTF-8的ISO-8851-1 Mojibake。@MartijnPieters我以前在python脚本中使用过它,它工作正常,所以我不确定为什么这次使用相同的终端它对我不起作用谢谢,如果你不让我知道,我是不会知道的。我必须对此进行更多调查,然后再与你联系。也许用我的壳做些东西……会让你知道的@user3325170:是CP1252,Windows拉丁语-1近似代码页谢谢,如果你不让我知道,我就不会知道。我必须对此进行更多调查,然后再与你联系。也许用我的壳做些东西……会让你知道的@user3325170:它是CP1252,Windows拉丁语-1近似代码页