-[NSMutableAttributedString initWithHTML:documentAttributes:]
sembra storpiare i caratteri speciali:NSAttributoString initWithHTML codifica caratteri errata?
NSString *html = @"“Hello” World"; // notice the smart quotes
NSData *htmlData = [html dataUsingEncoding:NSUTF8StringEncoding];
NSMutableAttributedString *as = [[NSMutableAttributedString alloc] initWithHTML:htmlData documentAttributes:nil];
NSLog(@"%@", as);
che stampa “Hello†World
seguito da alcuni comandi RTF. Nella mia applicazione, converto la stringa attribuita in RTF e la visualizzo in un NSTextView
, ma anche i caratteri sono danneggiati.
Secondo la documentazione, la codifica predefinita è UTF-8, ma ho cercato di essere esplicito e il risultato è lo stesso:
NSDictionary *attributes = @{NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]};
NSMutableAttributedString *as = [[NSMutableAttributedString alloc] initWithHTML:htmlData documentAttributes:&attributes];
Grande. Grazie per questo. (y) – Sid
Dovresti provare prima l'altra risposta nel caso in cui abbiano ragione riguardo alla mia risposta che funziona solo accidentalmente. Non ho avuto la possibilità di testarlo da solo. : -X – alltom
Hanno parzialmente ragione. Questa è la stessa risposta (più o meno) e funziona.Ho reso questa risposta più chiara poiché è contrassegnata come corretta. –