我一直在使用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()