为什么在python里输入不了东西-unicode – 为什么有些字符不能在Python的IDLE中输入?...

我不知道如何解释这个,实际上我正在寻找解释,所以我只想提一些步骤来重现这个问题.希望有人能够理解和阐述:

> Windows 8.1上的Python 3.5.0. (但无论Python和Windows版本如何,这都应该是可重现的.)

>安装波斯标准键盘. (它可以从here下载.我再次确定问题不仅限于这个特定的键盘,并且在某些其他语言中有一些字符存在相同的问题.只是为了重现性.)

>打开IDLE,将键盘的布局设置为波斯语并键入一些字符.

>对于某些字符,如’Â"(Shift h).它们打字很好.

>对于其他一些角色,如’ی"(d).它们被转换为类似的字符,在本例中为’ي"(注意字形下的小点).

>有些字符无法输入.例如’﷼"(Shift 4).这些被输入’?’在IDLE.

>以上所有字符都可以输入我安装的几乎任何其他程序.其中一个最简单的是notepad.exe.

>我们可以在另一个程序中键入相同的字符,例如notepad.exe然后将它们复制并粘贴到IDLE中.这表明IDLE支持unicode字符,只是不能输入它们.

我是IDLE的粉丝.它是标准Python安装附带的轻量级IDE,我不想因此而切换到另一个IDE.但对于我来说,以上是对IDLE最烦人的事情.每当我需要编写一个包含波斯语字符的程序时,我不能相信IDLE正确键入它们,我必须打开其他程序并使用复制粘贴方法.

我正在寻找的是:

>为什么会这样?哪里有问题?

>有没有解决方法?

>与此问题直接相关的任何文档或错误报告.

此信息也可能有所帮助:

>>> import locale

>>> locale.getdefaultlocale()

("en_US", "cp1256")

>>> locale.getpreferredencoding()

"cp1256"

>>> locale.getlocale()

("English_United States", "1252")

>>>

>>> import sys

>>> sys.getdefaultencoding()

"utf-8"

谢谢.

更新:

请参阅下面的前三条评论.似乎这个问题是由于在输入tkinter应用程序时使用WindowsBestFit mappings引起的.

为了测试它是否在python / tkinter绑定或tcl / tk本身中的一些错误配置,我下载并安装了Tkabber.这是一个用Tcl / Tk编写的应用程序.那么,存在完全相同的问题,即我不能输入上述字符,但可以复制和粘贴它们.所以我的结论是问题的根源在于tcl / tk本身而不是IDLE / Python / tkinter.

我的问题仍然存在.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值