This question already has answers here:
Unsupported characters in input In Python IDLE
                                
                                    (3个答案)
                                
                        
                                4年前关闭。
            
                    
我想将文件的地址分配给名为“ 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添加字体?

最佳答案

我正在使用Ubuntu + IDLE没问题。

>>> a = "جادی"
>>> print (a)
جادی
>>> a
'\xd8\xac\xd8\xa7\xd8\xaf\xdb\x8c'


检查选项〜配置IDLE〜常规菜单。您可以在此处设置UTF-8,然后从第一个选项卡中选择字体。

关于python - Python IDLE中的“输入中不支持的字符”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33730085/

10-14 00:18