2012-04-09 8 views
0

Ich habe Probleme mit einem NSString mit Unicode-Zeichen wie 'ç' und 'ñ'. Ein Beispiel, wie einfach:Verwenden von Unicode-Zeichen auf NSString

NSString *alphabet = @"abçd"; 
NSLog(@"alphabet is %@", alphabet); 

gibt diese auf der Konsole:

Alphabet abçd

Wie kann ich sicherstellen, dass NSString dieses Unicode-Zeichen ist der Umgang mit? Ich habe mehrere verschiedene Ansätze ausprobiert, indem ich online und auf der NSString Klassenreferenz gesucht habe, aber keine scheint zu funktionieren.

Vielen Dank im Voraus.

Antwort

2

können Sie sicher sein, dass NSString sie richtig durch die Ausgabe in eine Datei bearbeitet, und von dieser zu lesen ...

Ich würde mit ~ 100% Sicherheit vermutet, dass das Problem nicht mit NSString ist aber die Textkodierung von der Konsole erwartet, oder die Text-Codierung Ihrer Quelldatei ... wahrscheinlich der ehemalige.

in Debuggers Xcode i erhalten die erwartete Ausgabe:

alphabet is abçd 

Ihr Test:

NSString *alphabet = @"abçd";  
[alphabet writeToFile:[@"~/Desktop/charTest.txt" stringByExpandingTildeInPath] atomically:NO encoding:NSUTF8StringEncoding error:nil]; 
0

Sie können versuchen, die NSString mit UTF-8-Codierung

NSString* newStr = [[NSString alloc] initWithData:theData encoding:NSUTF8StringEncoding]; 

-Code zu initialisieren wurde von einer anderen Antwort genommen - Convert UTF-8 encoded NSData to NSString