0

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

4

0 回答 0