Pbs de polices
mac_manu
Membre
Hello et help!!
J'ai un petit mais sérieux problème de font. Je m'explique: J'ai dans un objet, une mémoire NSString. Lorsque je la compare avec une autre chaà®ne où la met dans un champ TextField, les accents (aigu, grave etc...) sont reconnu normalement. (Mon code se trouve dans MyController). Maintenant, si je veux imprimer cette chaà®ne de caractères, je passe par une sous-classe de NSView, (code dans MyView) et losque je la teste via isEqualToString, dans mon exemple maString (= été)isEqualToString:@été me renvoi NO!! De plus, si je fais @été drawInRect:rect, et 2 é sont affichés par un symbole représentant la racine carré!! Par contre, si je mais ma variable maString drawInRect:rect, je ne rencontre aucun problème, les 2 é s'affichent correctement. Qui peut me venir en aide??
J'ai un petit mais sérieux problème de font. Je m'explique: J'ai dans un objet, une mémoire NSString. Lorsque je la compare avec une autre chaà®ne où la met dans un champ TextField, les accents (aigu, grave etc...) sont reconnu normalement. (Mon code se trouve dans MyController). Maintenant, si je veux imprimer cette chaà®ne de caractères, je passe par une sous-classe de NSView, (code dans MyView) et losque je la teste via isEqualToString, dans mon exemple maString (= été)isEqualToString:@été me renvoi NO!! De plus, si je fais @été drawInRect:rect, et 2 é sont affichés par un symbole représentant la racine carré!! Par contre, si je mais ma variable maString drawInRect:rect, je ne rencontre aucun problème, les 2 é s'affichent correctement. Qui peut me venir en aide??
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Plus sérieusement, c'est un problème d'encodage de caractères, ça. Ton code source, il est en quoi ? En UTF-8, en MacOS Roman ? En tous cas, l'encodage de ton code source semble être différent de celui, interne, des NSString. Tant mieux, d'ailleurs, car il ne faut pas se fier à l'encodage du code source.
J'ai une solution : si tu tiens absolument à écrire "été" dans ton code source, passe par les Localizable.strings :
tu crées un fichier Localizable.strings, avec deux localisations (English et french). Ces fichiers doivent être en UTF-8.
Dans la version English, tu mets
"summer" = "summer"; (sans les @)
et dans la version French, tu mets
"summer" = "été";
Et dans ton code, quand tu as besoin de "été", tu écris:
NSLocalizedString(@summer, @summer);
+
Chacha
[edit]
Ouahaha, comment j'tai grillé, RenaudÂ
[/edit]
[edit2]
(corrigé le @summer)
Pardon, m'sieur ! Allez, je vais reprendre des cours d'humilité, et tu peux me renvoyer les tomates.
[/edit2]
[edit3]
Tu veux dire "un autre type" ? Hi hi
[/edit3]
[edit4]
Mais nooon, t'as juste confondu avec "une espèce de", qui est d'ailleurs souvent employé(e?) sous la forme éronnée de "un espèce de ".
[/edit4]
[Fichier joint supprimé par l'administrateur]
La solution serait de mettre toutes les phrases à comparer dans le fichier [tt]Localizable.string[/tt] (note d'un puriste, ça devrait normalement être fait, ce n'est pô bien de laisser des infos 'localisées' dans le code).
EDIT: grilled.
EDIT^2: Peut-être, mais en attendant t'as laissé une fôte dans ton code (je parle pô d'orthographe pour une fois): NSLocalizedString("summer", "summer");
EDIT^3: Pourquoi des tomates? Tu ne mérites pas ça, c'est réservé à une autre type de délit. Je vais juste me contenter de te faire la morale:
EDIT^4: . Comme punition je m'infligerai cette lecture.
EDIT^5: de toute façon c'est bien connu que les belges font souvent des erreurs dans le genre quand ils parlent français... Ceci dit, pas de concours cette fois-ci, ce sera trop facile.
PS En parlant de problèmes avec la police, je viens de recevoir une contravention >:D pour eccès de vitesse... comme c'est ma femme qui avait la voiture ce jour-là , ça mais un peu de beurre sur les épinards
Et si j'utilise: [NSString stringWithCString:cString encoding:NSUnicodeStringEncoding]; ?
Quitte à faire ça, je verrais plutôt :
Mais ce n'est pas très satisfaisant, puisque cela repose encore sur l'encodage du code source, ce qui n'est pas (à mon avis) une bonne pratique.
+
Chacha
NSString aString = [NSString stringWithCString:"doc dès " encoding:NSUTF8StringEncoding]
et lorsque je fais [aString drawInrect:rect], l'accent grave (et les autres) s'imprime au poil!