脚本开头添加默认编码
python源码中出现了中文字符或要处理中文字符,运行时会出现错误,解决方法是,开头加入字符编码声明:
#! /usr/bin/env python# -*- coding:utf-8 -*-
处理时可能会出现问题:
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-15: ordinal not in range(128)
这需要在开始位置加入代码
import sysreload(sys)sys.setdefaultencoding('utf8')
比如读入一行中文代码,要写入另一个文件时,需要解码与编码的变换:
p = "我在博客园“ w.write(p.decode('utf-8').encode('utf-8') + '\n')
csv中文编码乱码
往文件中如果存储方式是utf-8,打开csv文件时就是乱码,如果考出来重新存储为gbk格式就可以正常显示了。但是可以存储的时候就直接存储为gb2312
#! coding:utf-8f = file('ss.csv', 'w')f.write('你好'.decode('utf-8').encode('gb2312'))f.close()
这样用excel打开就不是乱码。