Je travaille sur un lecteur RSS simple. Ce lecteur charge les données d'Internet via ce code:nsxmlparser d'iphone analyse RSS provoque des problèmes d'encodage
NSXMLParser *rss = [[NSXMLParser alloc] initWithURL:[NSURL URLWithString:@"http://twitter.com/statuses/user_timeline/50405236.rss"]];
Mon problème est lié à l'encodage. Le fichier RSS 2.0 est censé être encodé en UTF8 selon l'attribut d'encodage du fichier XML.
<?xml version="1.0" encoding="utf-8"?>
Alors, quand je télécharger des URL de contenu que je reçois le texte tronqué après la première occurence de charbon avec diacritiques, par exemple: Ls cT ZY á é í, etc.
J'ai essayé de résoudre le problème en téléchargeant l'URL en tant que chaîne UTF8, j'ai utilisé ce code:
NSString *rssXmlString = [NSString stringWithContentsOfURL: [NSURL URLWithString: @"http://www.macblog.sk/rss.xml"] encoding:NSUTF8StringEncoding error: nil];
NSData *rssXmlData = [rssXmlString dataUsingEncoding: NSUTF8StringEncoding];
N'a pas aidé. Merci pour vos réponses.
J'ai donc résolu ce problème moi-même. Donc le problème était dans cette méthode parser: foundCharacters:, j'ai dû lire la documentation plus en détail: L'objet analyseur peut envoyer au délégué plusieurs parser: foundCharacters: messages pour signaler les caractères d'un élément. Comme la chaîne peut ne représenter qu'une partie du contenu total des caractères de l'élément en cours, vous devez l'ajouter à l'accumulation de caractères actuelle jusqu'à ce que l'élément change. –