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