使用python 2.6时发现脚本中有中文且处理中文时,有编码解码的问题,用以下方法解决:
1、python脚本首行添加
#-*- coding:utf-8 -*-
若不添加,脚本中的中文字符一律识别不了(包括注释中有中文都不行)
2、编写了个小爬虫,爬到的html文件中若有中文字符,需要对获得的html进行解码:
html = response.read().decode("utf-8")
3、若需要写内容到文件中,并且内容中有中文,需要定义一下编码方式
reload(sys) sys.setdefaultencoding("utf-8")
不过据说这个地方有坑,有理有据:http://blog.ernest.me/post/python-setdefaultencoding-unicode-bytes
所以还是用python 3.X吧~~
关于以上的编码解码,已知的是python 2.6默认的是ASCII编码,中文字符是没有ASCII码的,详细了解:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html
关于python的encode和decode,还在云里雾里中。。。。以后填坑吧