python解决处理中文的问题

脚本开头添加默认编码

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 sys
reload(sys)
sys.setdefaultencoding('utf8')

 比如读入一行中文代码,要写入另一个文件时,需要解码与编码的变换:

p = "我在博客园“ 
w.write(p.decode('utf-8').encode('utf-8') + '\n') 

csv中文编码乱码

往文件中如果存储方式是utf-8,打开csv文件时就是乱码,如果考出来重新存储为gbk格式就可以正常显示了。但是可以存储的时候就直接存储为gb2312

#! coding:utf-8
f = file('ss.csv', 'w')
f.write('你好'.decode('utf-8').encode('gb2312'))
f.close()

这样用excel打开就不是乱码。

posted @ 2013-10-17 21:42  jihite  阅读(1839)  评论(0编辑  收藏  举报