Использование NSXMLParser с ISO-8859-1 усекает слова с акцентами

У меня точно такая же проблема, как и в этом вопросе, но я не получил хорошие ответы.

Я пытаюсь проанализировать файл XML с кодировкой ISO-8859-1, но каждый раз, когда есть слово с ударением, оно усекается и не отображается должным образом.

Example: 

Original Word: Interés 

Word Shown: és

person Diego Villouta    schedule 18.10.2011    source источник
comment
Если этот вопрос не получил достаточного внимания, не стесняйтесь добавить к нему комментарий, попросив его дальнейшего расширения.   -  person Nightfirecat    schedule 15.11.2011
comment
возможный дубликат Problemas com Parse XML - Iphone   -  person bta    schedule 15.11.2011
comment
вы получаете ответ на этот вопрос?   -  person    schedule 06.02.2012


Ответы (2)


Вы делаете предположение, что получаете только один метод делегата -parser:foundCharacters: для текста. В данном случае это неправильно. Вы получаете два вызова -parser:foundCharacters:, первый из которых представляет собой текст до символа с диакритическим знаком, а второй — текст после него. Ваши журналы даже демонстрируют это.

Следовательно, вам нужно при запуске нового элемента также инициализировать новый экземпляр NSMutableString*. Затем, когда вы получаете -parser:foundCharacters:, вы добавляете эту строку вместо ее замены. Когда тег закрывается, эта строка теперь содержит весь текст тега, а не только последний текстовый блок.

person Lily Ballard    schedule 21.12.2012

Вы должны использовать NSMutableString и добавлять к нему символы в методе foundCharacters. Вот почему ваша строка становится усеченной.

person Carlos Ricardo    schedule 27.06.2012