NSString stringWithContentsOfURL Проблема кодирования - PullRequest
1 голос
/ 12 января 2010

мое приложение загружает и анализирует xml-файл, содержащий немецкие умлауты (ä, ö, ü) и другие специальные символы (&,% и т. Д.). Кажется, у меня вообще нет понимания, когда речь заходит о проблемах кодирования.

так что я сейчас делаю:

  1. попробуйте найти, если я уже кэшировал XML-файл в папке с документами приложений

1.a если файл существует, я загружаю его в строку

NSString * xmlData = [[NSString alloc] initWithContentsOfFile:filenameStr encoding:NSUTF8StringEncoding error:&error];

1.b, если файл не существует, скачайте его содержимое и сохраните его позже

NSString *xmlData = [NSString stringWithContentsOfURL:urlRequest encoding:NSUTF8StringEncoding error:&err];
[xmlData writeToFile: filenameStr atomically: FALSE encoding:NSUTF8StringEncoding error:&error]
  1. потом (данные загружаются сейчас) я хочу разобрать их ...

однако, содержимое xmlData уже «неверно» после возврата stringWithContentsofURL (как я вижу это в отладчике). Также, если я открою файл, который сохранил в папке с документами, это тоже неправильно.

Будем благодарны за любые советы, ссылки, советы или рекомендации по кодированию

спасибо

сэм

Ответы [ 2 ]

1 голос
/ 12 января 2010

Проверьте кодировку xml и используйте ее при инициализации строки (см. Подробности здесь )

А из-за

Мне кажется, что у меня вообще нет понимания, когда речь заходит о проблемах кодирования.

смотрите здесь .

0 голосов
/ 12 января 2010

файл не так, проблема с кодировкой,

На самом деле, когда содержимое написано на другом языке, оно отображается в кодированном виде.

см. Этот вопрос для справки

проблема с парсингом xml в iPhone

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...