也就是说不支持gb2312。。。。。
但处理 xml 包的这部分,并不能处理 GB 编码的 XML.
lxml 是一个 python 的对 libxml2 的封装,我记得是有兼容 ElementTree 接口的
我想问题的核心可能是,他要处理的 XML 文档有 UTF-8 编码的,也有 GB2312 编码的
OT: 请不要再使用 gb2312,
拜微软所赐,国内的 gb2312 实际上都是 gb18030。
而 python 的 gb2312 并没有"微软化"为 gb18030 的别名,
python 的 gb2312 对付"微软化"的 gb2312 (其实是 gb18030) 会出错的。
坚持不改的话,就迁就微软也做别名吧
import encodings; encodings.aliases.aliases['gb2312']='gb18030'
恩,虽说建议统一 utf8,
可还是有人混杂 gb,
gnome.org 上的中文网页就曾经头部 utf8,文章正文却有 gb18030
不,你理解错了。
gbk 是 gb2312 的超集, gb18030 是 gbk 的超集,
这里的问题不是你以为的向下兼容性,
而是 微软改掉了 gb2312 和 gbk,
微软的 gb2312 和 gbk 都是映射到 gb18030 的。
因为微软的 gb2312 超过了真正 gb2312 的字符集,
许多人就将超出 gb2312 范围的 gb18030 内容也标设为 gb2312,
还以为自己没问题。
但是到了非微软的地方,他们的"gb2312"文件就会出错了。
其实要怪只能怪标准化化官员的家属都是M$用户,天天唠叨也只好先迁就了...
> On Jul 25, 7:20 pm, "Jiahua Huang" <jhuangjia...@gmail.com> wrote:
>> 2008/7/25 Darren Lee <liyang...@gmail.com>:
>>
>> > 照理说python2.5应该是支持gb2312编码格式的
>>
>> OT: 请不要再使用 gb2312,
>>
>> 拜微软所赐,国内的 gb2312 实际上都是 gb18030。
>>
>> 而 python 的 gb2312 并没有"微软化"为 gb18030 的别名,
>> python 的 gb2312 对付"微软化"的 gb2312 (其实是 gb18030) 会出错的。
>>
>> 坚持不改的话,就迁就微软也做别名吧
>> import encodings; encodings.aliases.aliases['gb2312']='gb18030'
--
http://zoomquiet.org'''
过程改进乃是催生可促生靠谱的人的组织!
PE keeps evolving organizations which promoting people be good!'''
是说必须满足 gb18030 字符集,
没说编码不能是 unicode。
像国家去年弄的超大字符集字库就也是 unicode 的。
gb18030 编码的字符集只到 unicode3.0,
我国香港的字就没有包含在我国国标里边,
所以 gb18030 作为我国编码是不堪用的。