http://againinput4.blog.163.com/blog/static/1727994912011111011432810/
【已解决】python中文字符乱码(GB2312,GBK,GB18030相关的问题)
【背景】
在玩wordpress的一个博客搬家工具BlogMover,其包含几个python脚本,其中有个是163博客搬家用的163-blog-mover.py,实现抓取网易博客的日志,然后导出xml。
但是其工具现在(2011-12-10)已经失效了。经过自己一点修改后,可以实现获得文章标题了。
用法还是原先的用法:
163-blog-mover.py -fhttp://againinput4.blog.163.com/blog/static/172799491201111893853485/ |
获得的此篇日志的标题:
【已解决】允许hi-baidu-mover_v2.py出错:UnboundLocalError: local variable 'linkNode' referenced before assignment
中包含中文,在将该标题打印出来到log中后,却发现中文部分显示乱码:
????·??????????íhi-baidu-mover_v2.py???í??UnboundLocalError: local variable 'linkNode' referenced before assignment
所以想要去除乱码,正确显示中文。
【解决过程】
1. 本身那段文字,是从网页中抓取的,关于该日志的中文编码,也已经从网页中的:
<metahttp-equiv="content-type"content="text/html;charset=gbk"/>
看出来是GBK了。
而python中,原先默认编码发现是ascii,后来去通过:
reload(sys)
sys.setdefaultencoding('utf-8')
去将默认编码设置为utf-8,但是结果输出还是乱码。