写入csv时,设置为gbk格式,无需再转utf-8格式
import sys
reload(sys)
sys.setdefaultencoding('gbk')
登录后复制
2、把python里面的中文字符串decode成utf-8,再encode为gbk编码
data.decode('utf-8').encode('gbk')
如果是读取csv文件的话,就反过来:
data.decode('gbk').encode('utf-8')
3、Pycharm控制台中文输出乱码问题解决方案
设置完编码后,控制台扔乱码,也可能是设置字体导致的。
试了多次之后,解决不了,重装Pycharm,然后就好了
python 3和2很大区别就是python本身改为默认用unicode编码。
字符串不再区分"abc"和u"abc", 字符串"abc"默认就是unicode,不再代表本地编码、
由于有这种内部编码,像c#和java类似,再没有必要在语言环境内做类似设置编码,比如“sys.setdefaultencoding”
也因此也python 3的代码和包管理上打破了和2.x的兼容。2.x的扩展包要适应这种情况改写。
另一个问题是语言环境内只有unicode怎么输出gbk之类的本地编码。
答按惯例都在(序列化)输出时才转换成本地编码。
比如
file.write("GBK的中文".encode("GBK"))python环境内字符串用str.encode("GBK")方法输出成字节串用于和其他环境交流。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)