写这篇文章是因为,之前做了python2.7+django的项目,项目在ubuntu下运行,用apache+mod_wsgi进行了部署。
期间遇到了很多python中文乱码,os.walk遍历中文目录无法处理等等诸如此类的问题,为了整这个中文乱码,又是进行编码转换,又是添加coding头文件为utf-8等等,但是还是有许多问题。
比如下面我写的这几篇blog:
1python字符串编码详解:http://blog.csdn.net/qingyuanluofeng/article/details/46851949
2解决python UnicodeDecodeError: 'gb2312' codec can't decode问题:http://blog.csdn.net/qingyuanluofeng/article/details/46514119
3解决python读取中文目录乱码的问题:http://blog.csdn.net/qingyuanluofeng/article/details/46415533
4python读取.htm文件报错:UnicodeDecodeError: 'utf8' codec can't decode byte 0xb3 in position 0的解决方法:http://blog.csdn.net/qingyuanluofeng/article/details/45190867
5python读取文件报错:ValueError encoding must be one of 'utf_8', 'big5', or 'gbk'.:
http://blog.csdn.net/qingyuanluofeng/article/details/45171227
其实我想说的是:别这么烦了,与其花这么多时间去搞定中文乱码这种本来不应该是你项目主要去做的事情,就应该把项目从python2.7过渡到python3.4,不要担心一些库,python3.4出来有一两年了,基本上凡是支持python2.7的库都支持python3.4。
项目过渡地越早,甚至一开始就用python3.4基本上就解决了这些令人头疼的中文乱码问题,你的代价越小,别等到项目都整完了,再去过渡,代价太大。
关于python2.7过渡到python3.4,下面的几篇blog很好地告诉你应该怎么做。
血的教训,希望大家别再纠结python2.x版本了,勇敢得投入python3.x的怀抱吧!