У меня немного странная проблема. Всякий раз, когда я создаю новый текстовый файл в своем приложении для iOS, я устанавливаю его кодировку NSUTF8StringEncoding
. Если я отредактирую файл и введу любые символы с диакритическими знаками и сохрану изменения, диакритические знаки правильно отображаются в некоторых приложениях, таких как BBEdit, TextMate, cat и vi, но не в других, таких как TextEdit, Quick Look и Pages.
Я использую следующий код для сохранения содержимого UITextView в простые текстовые файлы.
NSError *error;
NSString *dataString = self.textView.text;
BOOL savedChanges = [dataString writeToFile:fullPath atomically:YES encoding:NSUTF8Encoding error:&error];
if (!savedChanges)
{
// Pop up an alert saying something went wrong.
}

Команда unix file
сообщает, что сохраненный файл действительно является «UTF-8 Unicode text, без разделителей строки»
Что еще страннее, если я снова сохраню файл, не меняя содержания текста, файл будет правильно отображаться в Quick Look & TextEdit на моем Mac.
Любая помощь будет оценена.