0

Im faire une demande à une API, c'est le NSData reçoit le retour:Objective-c Parse réponse api caractères spéciaux

{"word":"Ma\u00f1ana reposado"} 

Que im essayant de faire son pour afficher une étiquette avec ces données, mais quand i parse avec:

NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:1 error:&error]; 

le NSString * à l'intérieur [JSON objectForKey: @ "mot"] = "Ma ana reposado"

Comment est la bonne façon non encode la NSData?

Répondre

0

Si les données ne sont pas à zéro terminal, utiliser initWithData: encoding

NSString* yourNSString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 

Si les données sont à zéro terminal, l'utilisation stringWithUTF8String: pour éviter le supplément \ 0 (terminateur NUL) à la fin

NSString* yourNSString = [NSString stringWithUTF8String:[responseData bytes]]; 
+0

Je l'ai essayé, et le résultat était "Ma \ u00a01 reposado" –

+0

Je l'ai essayé maintenant, ils sont unicode (LETTRE MINUSCULE NATIONALE AVEC TILDE) le format est correct, les mettre sur un UILabel ou quelque chose et ils ' ll apparaîtra comme vous l'attendez. J'ai essayé et obtenu la sortie: Mañana reposado – gabriel