用libxml解析文件时里面的汉字怎么处理
我在写程序解析xml文件时里面有汉字,程序大体上是这么写的,但是结果不正确:
pdoc=xmlReadFile("sss.xml","UTF-8",XML_PARSE_NOBLANKS);
if(NULL==pdoc)
{
printf("open file %s failed\n","scd.xml");
exit(1);
}
proot=xmlDocGetRootElement(pdoc);
if(NULL==proot)
{
printf("find root failed\n");
exit(1);
}
if(xmlStrcmp(proot->name,(const xmlChar *)"变电站")!=0)//汉字
{
printf("no MAC match\n");//输出
exit(1);
}
xml里面有变电站这三个汉字,我按字符处理,但是结果输出“no MAC match”,这是怎么回事?
------解决方案--------------------楼主的源代码不是UTF-8?
------解决方案--------------------
------解决方案--------------------libxml好像只支持UTF-8,如果碰到其他编码,可以用iconv来转换。