问题:
使用IDE中英文路径读写文件没有问题,但程序编译后或使用命令行执行py文件时,出现中文乱码。
原因:
Python idle 中utf-8、gbk
或者unicode
这三种编码都支持,但windows cmd 窗口下不支持utf-8
,想要显示中文必须转换为gbk
或者unicode
。
简单解决:
在py文件中声明gbk编码
# -*- coding: gbk -*-
其他方案包括:
- 文件存储为
utf-8
格式,编码声明为utf-8
,# encoding:utf-8
- 出现汉字的地方前面加
u
- 不同编码之间不能直接转换,要经过
unicode
中间跳转 - cmd 下不支持
utf-8
编码 raw_input
提示字符串只能为gbk
编码