2010-11-10 7 views
0

A posé une question sur le même problème ici: Silly problem with UTF8 mais un peu foiré la chose alors je fais une nouvelle question et essayer de le nettoyer.Objectif-C: Problème avec les caractères suédois ÅÄ 0

Je m'excuse si je le demande à nouveau.

J'ai essayé de faire fonctionner ceci mais juste ne peux pas obtenir le résultat que je veux. J'ai essayé les recommandations de mon fil précédent mais je n'arrive toujours pas à le faire fonctionner. Comme vous le comprenez je suis très nouveau à ce sujet et j'ai vraiment essayé de lire à ce sujet.

Voici le scénario:

  • NSMutableArray
  • magasin caractères suédois: "ÅÄÖ"
  • NSLog le tableau
  • sortie est incorrect

code:

NSMutableArray * myArray = [[NSMutableArray alloc] init];
[myArray addObject: @ "==="];
[myArray addObject: @ "ÅÄÖ"];
[myArray addObject: @ "==="];
NSLog (@ "myArray:% @", myArray);

La sortie i obtenir est la suivante:

2010-11-10 21: 20: 17,826 nsmutablearray_test [2976: 207] monTableau: (
"===",
« \ U00c5 \ U00c4 \ U00d6" ,
"==="
)

La sortie je cherche est:

"===",
"ÅÄÖ",
"==="

Comme je l'ai testé toutes sortes de choses pour ce problème (simple) J'apprécierais vraiment si quelqu'un sympa pourrait me montrer le code pour résoudre ce problème?

salutations

Répondre

2

Voici une solution simple pour vous:

NSMutableArray *myArray = [[NSMutableArray alloc] init]; 
[myArray addObject: @"==="]; 
[myArray addObject: @"ÅÄÖ"]; 
[myArray addObject: @"==="]; 
NSLog(@"myArray: %@", myArray); 

for (NSString *string in myArray) { 
    NSLog(@"%@", string); 
} 

Sortie:

Swedish[3453:a0f] === 
Swedish[3453:a0f] ÅÄÖ 
Swedish[3453:a0f] === 
3

\U00c5 est le code unicode pour Å, donc techniquement, cette sortie est correcte. La chaîne est toujours la même en mémoire, c'est juste que NSLog ne la sort pas comme vous l'attendez. Mais c'est toujours la même chaîne.

0

Ceci est juste un problème avec la façon dont NSLog gère UTF8 si je me souviens bien. Essayez d'abord de stocker la description dans un NSString puis de vous connecter.

Dans les deux cas, les données sont correctes, c'est un problème purement NSLog.

Questions connexes