0
我想要的文件的地址分配給一個名爲「S」變量:「輸入不支持的字符」在Python IDLE
>>> 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
正如你看到的我回到了我在輸入錯誤不支持的字符。而這個錯誤是由於文件名中的阿拉伯文/波斯文字。
奇怪的是,我能在空閒寫阿拉伯語/波斯語和我可以有一個包含阿拉伯語/波斯語字母的字符串變量:
>>> s = "سلام"
>>> s = "روش هاي آدرس دهي"
最後我發現,問題的起源是一個字母有波斯和阿拉伯之間的兩種不同形式。它是「ی」和「ي」。兩者都表示同一封信,第一封是波斯文,第二封是阿拉伯文。 (阿拉伯文在信件下有兩個點(。))。
正如你看到的,我不能用一種形式:
>>> s = "ي"
>>> s = "ی"
Unsupported characters in input
>>>
我該如何處理這個問題呢?反正有沒有爲IDLE添加字體的例子?
設置默認源編碼爲UTF-8,只有當源是* * UTF-8編碼的幫助。在Windows上,即使粘貼用U字頭線路進入空閒的外殼時,這並不能幫助。就像許多unicode問題一樣,Python 3在這裏工作得更好。 –