当前位置: 技术问答>linux和unix
xerces解析xml文件时的中文问题
来源: 互联网 发布时间:2015-10-14
本文导语: 使用xerces编写xml parse,分别运行在solaris和windows下。 发现在solaris下当xml文件中encoding="GB2312"时,解析器运行就会报错,内容为:“Could not create a converter for encoding: GB2312”。如果改变为其他编码方式如:LATIN1或ISO...
使用xerces编写xml parse,分别运行在solaris和windows下。
发现在solaris下当xml文件中encoding="GB2312"时,解析器运行就会报错,内容为:“Could not create a converter for encoding: GB2312”。如果改变为其他编码方式如:LATIN1或ISO8859-1则不会报错且中文正常显示。
在windows下当encoding="GB2312"时中文正常显示,为其他编码方式时也不会报错但中文为乱码。
在网上查找问题发现xerces应该是不支持gb2312的,但是为什么在windows下就支持呢?而为什么在solaris下就报错呢?求达人解惑!百分奉上
发现在solaris下当xml文件中encoding="GB2312"时,解析器运行就会报错,内容为:“Could not create a converter for encoding: GB2312”。如果改变为其他编码方式如:LATIN1或ISO8859-1则不会报错且中文正常显示。
在windows下当encoding="GB2312"时中文正常显示,为其他编码方式时也不会报错但中文为乱码。
在网上查找问题发现xerces应该是不支持gb2312的,但是为什么在windows下就支持呢?而为什么在solaris下就报错呢?求达人解惑!百分奉上
|
xerces内置不支持GB2312编码,但内置必须支持utf-8(自然就支持ascii和ISO-8859-1),
在solaris下得默认字符集是en,xerces使用默认字符集的话自然就支持en(ascii和iso-8859-1),中文windows下默认字符集是GBK,所以xerces在中文windows下使用系统默认字符集的话自然就支持中文了。
在solaris下得默认字符集是en,xerces使用默认字符集的话自然就支持en(ascii和iso-8859-1),中文windows下默认字符集是GBK,所以xerces在中文windows下使用系统默认字符集的话自然就支持中文了。
|
xerces不支持GB2312
xerces先检查xml的encoding设置,如果不是支持的编码,就会根据操作系统字符集来进行编码。
xerces先检查xml的encoding设置,如果不是支持的编码,就会根据操作系统字符集来进行编码。
|
下一个GBK字库试试!