Tag: encoding

Windows cmd编码更改导致Python崩溃

首先,我将Windows CMD编码更改为utf-8并运行Python解释器: chcp 65001 python 然后我尝试打印一个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错误 。 我猜会发生什么是Python将cmd编码复制为“cp65001”转换为“sys.stdin.encoding”,并尝试将其应用于所有input。 由于它不能理解“cp65001”,它会在任何包含非ASCII字符的input上崩溃。