Проблема со словом "Nestlé" в XML-документе (кодировка UTF-8) с использованием NXXMLParser. Любая идея? - PullRequest
0 голосов
/ 31 мая 2009

Мы используем NSXMLParser в Objective-C для анализа нашего XML-документа, который все в кодировке UTF-8. В одном документе есть строка «Nestlé» (как в ...<title>Nestlé Novelties</title>...). Парсер только что завершил работу, сообщив об ошибке с кодом ошибки = 9, из-за французской буквы «е» в конце слова «Nestle». Кроме того, мы попытались использовать IE, Chrome, Safari, чтобы показать тот же документ напрямую. Они сообщили об аналогичной ошибке кодирования.

Мы используем UTF-8 для всех входящих XML-документов, что означает, что у всех них есть «<?xml version="1.0" encoding="UTF-8" ?>» в качестве верхней части документа.

Это проблема кодирования? Если так, как мы решаем это? Какую кодировку мы должны использовать для всех наших XML-документов? Заранее спасибо!

Barclay

Ответы [ 3 ]

6 голосов
/ 01 июня 2009

Вы проверили файл с помощью шестнадцатеричного редактора, чтобы убедиться, что «é» действительно UTF-8, 0xC3 0xA9?

0 голосов
/ 01 июня 2009

Что-то, что я видел только что в примере XML-файла, было то, что строка, содержащая пользовательский ввод (который, как оказалось, включал символы é), обернула содержимое содержащего тега в объявления CDATA. Это приводит к тому, что парсер полностью игнорирует содержащиеся в нем символы.

0 голосов
/ 01 июня 2009

В HTML я бы использовал Nestl&eacute; Это работает для вашего приложения?

...