-[NSMutableAttributedString initWithHTML:documentAttributes:], похоже, приводит в действие специальные символы:
NSString *html = @""Hello" World"; // notice the smart quotes
NSData *htmlData = [html dataUsingEncoding:NSUTF8StringEncoding];
NSMutableAttributedString *as = [[NSMutableAttributedString alloc] initWithHTML:htmlData documentAttributes:nil];
NSLog(@"%@", as);
Это печатает “Hello†World, за которым следуют некоторые команды RTF. В моем приложении я преобразовываю атрибутированную строку в RTF и отображаю ее в NSTextView, но символы там тоже повреждены.
В соответствии с документацией кодировка по умолчанию - UTF-8, но я попытался быть явным, и результат будет таким же:
NSDictionary *attributes = @{NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]};
NSMutableAttributedString *as = [[NSMutableAttributedString alloc] initWithHTML:htmlData documentAttributes:&attributes];