Я работал с 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 ()