python在cmd中的编码问题

编码问题

问题1

python采用utf-8编码通过cmd命令执行,报错IOError: [Errno 0] Error

解决办法
设置窗口字符集:
chcp 65001
set PYTHONIOENCODING=utf-8

问题2

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position

python2的默认编码是ascII,而代码中可能由utf-8的字符导致

解决办法
设置utf-8编码

# 方法1
#coding=utf-8

# 方法2
import sys

if sys.getdefaultencoding() != 'utf-8':
    reload(sys)
    sys.setdefaultencoding('utf-8')

问题3

cmd中文输入和显示问题

解决办法
chcp命令切换字符格式:

chcp 65001   #换成utf-8代码页
chcp 936       #换成默认的gbk
chcp 437       #美国英语

一般默认为gbk,若要修改成 utf-8,则需要:
cmd窗口输入:chcp 65001

猜你喜欢

转载自www.cnblogs.com/friedCoder/p/12812418.html