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编码,一个汉字占两个字节。
[解决办法]
把encoding=\"UTF-8\"改成encoding=\"GB2312\"试试。
[解决办法]
源文件改成utf8格式试试