NSXMLParser не может анализировать специальные символы (акценты)

Я использую NSXMLParser для анализа xml из URL-адреса (мой код почти точно такой же, как здесь )

Некоторые элементов содержат специальные символы, такие как "á", что приводит к тому, что слово lik ándre разбивается на два (á и ndre).

Вот мой loadXMLByURL

-(id) loadXMLByURL:(NSString *)urlString{
tickets     = [[NSMutableArray alloc] init];
NSURL *url      = [NSURL URLWithString:urlString];
NSData  *data   = [[NSData alloc] initWithContentsOfURL:url];
parser          = [[NSXMLParser alloc] initWithData:data];
parser.delegate = self;
[parser parse];
return self;}

Я почти уверен, что это потому, что кодировка не установлена ​​(я думаю, что это должно быть NSUTF8StringEncoding), но я не уверен, где и как его применять.

[ОБНОВЛЕНИЕ] Остальная часть моего кода...

- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{    
    if ([elementname isEqualToString:@"ticket"]) 
    {
        currentTicket = [Ticket alloc];
    }

}

- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
    if ([elementname isEqualToString:@"name"]) 
    {
        currentTicket.name = currentNodeContent;
    }
    else if ([elementname isEqualToString:@"title"]) 
    {
        currentTicket.title = currentNodeContent;
    }
    else if ([elementname isEqualToString:@"status"]) 
    {
        currentTicket.status = currentNodeContent;
    }
    else if ([elementname isEqualToString:@"ticket"])
    {
        [tickets addObject:currentTicket];
        [currentTicket release];
        currentTicket = nil;
        [currentNodeContent release];
        currentNodeContent = nil;
    }

}

- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    currentNodeContent = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}

[ОБНОВЛЕНИЕ 2] Пример xml...


    
        
            Andrew Ford
            3rd release
            1
        

        
            David Jenkins
            3rd release
            0
        

        
            Luis gomez ándre
            3rd release
            1
        
    

10
задан Community 23 May 2017 в 12:15
поделиться