Sto provando a leggere le stringhe da una matrice proveniente da un plist e stampare quelle stringhe.Conversione dei caratteri UTF8 fuoriusciti nella loro forma originale
Le stringhe nell'array contengono caratteri UTF8 con caratteri di escape, ad esempio "Nuša Florjančič" diventa "Nu\u0161a Florjan\u010di\u010d"
quando viene letto dal plist. Non c'è modo di modificare il contenuto del plist, ma il mio programma deve visualizzare correttamente i nomi.
La cosa strana è che Objective-C sembra farlo automaticamente quando sto codificando la stringa. Tuttavia, se ottengo la stringa dal plist non succede nulla.
Per fare un esempio, ecco qualche codice:
NSString *name1 = @"Nu\u0161a Florjan\u010di\u010d";
NSString *name2 = [list objectAtIndex:0];
NSLog(@"name 1: %@", name1);
NSLog(@"name 2: %@", name2);
[list objectAtIndex:0]
contiene @"Nu\u0161a Florjan\u010di\u010d"
- l'unica differenza è che è stata impostata tramite l'editor plist.
L'uscita della console è:
2011-10-22 18:00:02.595 Test[13410:11c03] name 1: Nuša Florjančič
2011-10-22 18:00:02.595 Test[13410:11c03] name 2: Nu\u0161a Florjan\u010di\u010d
Ho provato un sacco di cose, tra cui trasformare la stringa in un C-string e quindi la creazione di un oggetto NSString
con una codifica UTF-8, ma niente ha funzionato a tutti.
Apprezzerei qualsiasi suggerimento da parte tua che potrebbe aiutarmi a risolvere questo problema apparentemente banale.
Grazie mille, amico! Questo ha fatto il trucco :) – Tobi
Grande pezzo di codice. Grazie. –
@Tobi se questo ha funzionato, perché non puoi contrassegnarlo come risposta? – DroidHeaven