读书人

libxml2中有汉语言时解析XML报错

发布时间: 2013-01-04 10:04:18 作者: rapoo

libxml2中有中文时解析XML报错
char buf[] ="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <JMSB> <HEAD> <CLJG>中过</CLJG> " \
"<JLTS>recordNo</JLTS>"\
"<CCXX></CCXX>"\
"</HEAD>"\
"</JMSB>";
doc = xmlParseMemory((char*)buf, strlen(buf) + 1);
调用此句后,提示
Input is not proper UTF-8, indicate encoding错误
[解决办法]
文件内容不是UTF-8编码的吗?
虽然你加了encoding=\"UTF-8\",但是,文件内容不是UTF-8编码的还是有问题的。

况且,你用的是char型,char型字符串,也就是用GB2312编码,一个汉字占两个字节。


[解决办法]

引用:
文件内容不是UTF-8编码的吗?
虽然你加了encoding=\"UTF-8\",但是,文件内容不是UTF-8编码的还是有问题的。

况且,你用的是char型,char型字符串,也就是用GB2312编码,一个汉字占两个字节。

把encoding=\"UTF-8\"改成encoding=\"GB2312\"试试。
[解决办法]
源文件改成utf8格式试试

读书人网 >C++

热点推荐