python中文解决方法gb2312<==>utf8
文章作者 100test 发表时间 2007:04:06 21:44:11
来源 100Test.Com百考试题网
抛砖引玉
这是我以前收集整理的。内容比较凌乱,也比较全面。
包括windows, python2.3,pyqt. 而pygtk和thinker和pyqt类似都用unicode.
我想最好的办法是做一个库直接调用gb13080编码字库.
我搜集了一个gb18030映射表 > 830k, 这样双向两个表 > 1.6 M
在win2000 sp3,python2.2
from Tkinter import *
w = Button(text="中国".decode("mbcs"), font="simhei", command= exit )
w.pack()
w.mainloop()
这个方法治标不治本
有时候,我会把字符串的mbcs(GB)和unicode混淆
这个方法有个缺点,由于mbcs的缘故,只适用于windows系统.
一个解决办法,安装
http://sourceforge.net/projects/python-codecs/
A SourceForge project working on additional support for Asian codecs for use
with Python. They are in the early stages of development at the time of this
writing -- look in their FTP area for downloadable files.
(见 Python Library Reference 4.9)
略作修改即可使用
(
下载4个文件
eucgb23212utf.py (182K) ,
utf2eucgb2321.py (182K),
( http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python-
codecs/practicecodecs/ChineseCodecs/chinesecn/Attic/ )
eucgb2321_cn.py (
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python-
codecs/practicecodecs/ChineseCodecs/Python/)
test.py
本来有个setup.py, 但我不会用,手工修改:
1.把EUCGB2321_CN 替换成gb2312,包括文件名,文件里面的内容.
2. aliases.py 文件最后添加一行
# eucgb2321_cn codec