Я использую nsxmlparser, и мне интересно, как правильно разобрать ISO-8859-1 в NSString.Parsing ISO-8859-1 w/NSXmlParser
В настоящее время я получаю результаты с двухбайтовыми символами.
XML-я использую (не созданный мной) начинается с <?xml version="1.0" encoding="ISO-8859-1"?>
Вот основные вызовов я использую (опущено NSThread вызовов).
NSString *xmlFilePath = [[NSBundle mainBundle] pathForResource:sampleFileName ofType:@"xml"];
NSString *xmlFileContents = [NSString stringWithContentsOfFile:xmlFilePath encoding:NSUTF8StringEncoding error:nil];
NSData *data = [xmlFileContents dataUsingEncoding:NSUTF8StringEncoding];
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
[parser setDelegate:self];
[parser parse];
Является ли ваш XML-файл UTF-8? – zneak
Это похоже на то, что исходное кодирование может быть, по меньшей мере, частично UTF-8. Я рекомендую опубликовать образец (или ссылку на образец), чтобы он мог быть дополнительно диагностирован. –
Я вижу вверху строку Xml version = "1.0" encoding = "ISO-8859-1"?>. Я предполагаю, что это кодировка? Как установить NSXmlParser для использования этого? – Ternary