我想将文件的地址分配给名为's'的变量:
>>> s= 'D:/4-Tutorials/Network/CCNA-farsi-shariaty/روش های آدرس دهی IP و Subnetting.mp4'
Unsupported characters in input
>>> s= u'D:/4-Tutorials/Network/CCNA-farsi-shariaty/روش های آدرس دهی IP و Subnetting.mp4'
Unsupported characters in input
>>> s='D:/4-Tutorials/Network/CCNA-farsi-shariaty/روش های آدرس دهی IP و Subnetting.mp4'.decode('utf8')
Unsupported characters in input
>>> s='D:/4-Tutorials/Network/CCNA-farsi-shariaty/روش های آدرس دهی IP و Subnetting.mp4'.encode('utf8')
Unsupported characters in input
>>> s='D:/4-Tutorials/Network/CCNA-farsi-shariaty/روش های آدرس دهی IP و Subnetting.mp4'.decode('utf-8')
Unsupported characters in input
如您所见,我将输入中不支持的字符错误返回给我。这个错误是因为文件名中的阿拉伯语/波斯语字母。
奇怪的是我可以在IDLE中写阿拉伯语/波斯语,我可以有一个包含阿拉伯语/波斯语字母的字符串变量:
>>> s = "سلام"
>>> s = "روش هاي آدرس دهي"
最后我发现问题的根源是波斯语和阿拉伯语之间有两种不同形式的字母。它是“ی”和“ي”。两者都标明相同的字母,第一个是波斯语,第二个是阿拉伯语。 (阿拉伯语形式在字母下面有两个点(。)。
如你所见,我不能使用一种形式:
>>> s = "ي"
>>> s = "ی"
Unsupported characters in input
>>>
我该如何处理这个问题?反正有没有为IDLE添加字体?
答案 0 :(得分:7)
我使用Ubuntu + IDLE没问题。
>>> a = "جادی"
>>> print (a)
جادی
>>> a
'\xd8\xac\xd8\xa7\xd8\xaf\xdb\x8c'
检查选项〜配置IDLE~常规菜单。在那里你可以设置UTF-8,从第一个标签你可以选择你的字体。