XMLTV西班牙语字符未正确显示

时间:2019-07-10 09:39:08

标签: c xml xml-parsing libxml2 xml-encoding

我一直在使用XMLTV,但是我发现EPG中不能正确显示西班牙语字符,我相信这将是xml编码的问题,但是我已经对两者进行了测试:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8" ?>

我仍然遇到西班牙语字符的问题,有什么建议吗?

更新:

我正在读取一个xml文件并将其转换为XMLTV,除西班牙语字符外,一切都按预期运行。

void parseStory( xmlDocPtr doc, xmlNodePtr cur, char szFilename[256] ) {

tvNode        = xmlNewTextChild( cur, NULL, "tv", NULL);
channelNode   = xmlNewTextChild( tvNode, NULL, "channel", NULL );
progTitle = xmlNewTextChild( programmeNode, NULL, "title", title );
xmlNewProp( progTitle, "lang", "es" );

displayName = xmlNewTextChild( channelNode, NULL, "display-name", key );
xmlNewProp( channelNode, "id", key );
xmlFree( key );

xmlDocSetRootElement( doc, tvNode );

//Saving (overwriting) file after changes
//xmlSaveFormatFile( (const xmlChar *) szFilename, doc, 1 );
int count;
count = xmlSaveFormatFileEnc( (const xmlChar *) szFilename, doc, "UTF-8", 1 );
syslog( LOG_INFO, "File: %s", szFilename );
syslog( LOG_INFO, "Count: %d", count );

}

这只是一小段代码,没有所有内容都不是十全十美的,但我认为影响西班牙语字符的区域是lang props和xmlSaveFormatFileEnc()

0 个答案:

没有答案