为了账号安全,请及时绑定邮箱和手机立即绑定

Windows cmd编码更改导致Python崩溃

Windows cmd编码更改导致Python崩溃

慕村225694 2019-08-02 14:58:07
Windows cmd编码更改导致Python崩溃首先,我将Windows CMD编码更改为utf-8并运行Python解释器:chcp 65001python然后我尝试在其中打印一个unicode sting,当我这样做时,Python以一种特殊的方式崩溃(我只是在同一个窗口中得到一个cmd提示符)。>>> import sys>>> print u'ëèæîð'.encode(sys.stdin.encoding)任何想法为什么会发生以及如何使它工作?UPD:sys.stdin.encoding退货'cp65001'UPD2:我刚才发现这个问题可能与utf-8使用多字节字符集这一事实有关(kcwu就此提出了一个很好的观点)。我尝试使用'windows-1250'运行整个示例并得到'ëea?'。Windows-1250使用单字符集,因此它适用于它理解的字符。但是我仍然不知道如何让'utf-8'在这里工作。UPD3:哦,我发现它是一个已知的Python bug。我想会发生的事情是Python将cmd编码复制为'cp65001到sys.stdin.encoding并尝试将其应用于所有输入。由于它无法理解'cp65001',因此它会在包含非ascii字符的任何输入上崩溃。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 649 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信