[Résolu] Passage sous lion / xcode 4.5 : mes accents sont pétés...
Bonjour à tous,
Je viens de mettre à jour mon poste avec lion et xcode 4.5.2 (oui je sais il était temps...) et j'ai le comportement suivant :
J'affiche un libellé provenant d'un web service, par exemple : "Pyrénées".
Lorsque j'utilise xcode 4.2, j'obtiens les infos suivantes :
trace du WS : "Pyrénées" / trace description de l'objet : "Pyr\\U00e9n\\U00e9es" / Affichage du libellé dans l'écran : "Pyrénées"
Lorsque j'utilise xcode 4.5.2, j'obtiens les infos suivantes :
trace du WS : "Pyrénées" / trace description de l'objet : "Pyr233n233es" / Affichage du libellé dans l'écran : "Pyr233n233es"
Pourquoi tant de haine ?
Une idée ?
Merci.
Je viens de mettre à jour mon poste avec lion et xcode 4.5.2 (oui je sais il était temps...) et j'ai le comportement suivant :
J'affiche un libellé provenant d'un web service, par exemple : "Pyrénées".
Lorsque j'utilise xcode 4.2, j'obtiens les infos suivantes :
trace du WS : "Pyrénées" / trace description de l'objet : "Pyr\\U00e9n\\U00e9es" / Affichage du libellé dans l'écran : "Pyrénées"
Lorsque j'utilise xcode 4.5.2, j'obtiens les infos suivantes :
trace du WS : "Pyrénées" / trace description de l'objet : "Pyr233n233es" / Affichage du libellé dans l'écran : "Pyr233n233es"
Pourquoi tant de haine ?
Une idée ?
Merci.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je suppose donc que cela viens du formatage de tes chaà®ne de caractères qui ne sont plus en adéquation avec la version de xCode.
Si c'est ça la résolution m'intéresse.
Ca ressemble à de l'UTF8 dans le premier cas... A rien dans le second....
Es tu sûr que ton code n'a pas changé côté client ?
Je confirme que dans ton 2e cas ça reste bizarre ta trace de description de l'objet... C'est quoi le bout de code qui te fait passer de l'un à l'autre au juste ? Pour passer du é à ta description que tu affiches ?
Et puis ton WS est bizarre, il te retourne des caractères avec un échappement HTML des entités ("&xxx;"), alors qu'on se demande ce que ça fout là et qu'il devrait te retourner soit de l'UTF8 directement, soit éventuellement un autre charset (genre ISO-Latin-1), soit l'échappement unicode officiel du caractère ("\u00e9"). Pas un HTMLEntity, qui n'a de sens qu'en HTML pur et sera interprété par un navigateur web pour l'affichage, mais n'a pas de sens dans une réponse de WebService.
Le code qui transformait "é" en "é" était :
Que j'ai remplacé par :
Merci à tous.
Et en effet pour ton cas je comprend pas comment ton code marchait avant, puisque "%u" c'est pour afficher des unsigned int, pas des caractères... donc c'est normal que ça te faisait ça ! (mais pas normal ni logique que ça marchait avec ton ancienne version de Xcode et du SDK par contre)
et le lien :
http://stackoverflow.com/questions/1105169/html-character-decoding-in-objective-c-cocoa-touch
/wink.png' class='bbc_emoticon' alt=';)' />