jeu de caractère
bofy
Membre
Bonjour
Je progresse doucement mais régulièrement.
J'ai une base PostGreSql. Je défini le mode UTF8 pour mes textes. Avec pgAdmin, je retrouve bien mes signes diacritiques où ils doivent être.
Je sais récupérer les données de ma base, mais l'affichage des données textuelles est débile : au lieu d'un "é" j'ai "n'importe quoi".
Help ? Merci
Je progresse doucement mais régulièrement.
J'ai une base PostGreSql. Je défini le mode UTF8 pour mes textes. Avec pgAdmin, je retrouve bien mes signes diacritiques où ils doivent être.
Je sais récupérer les données de ma base, mais l'affichage des données textuelles est débile : au lieu d'un "é" j'ai "n'importe quoi".
Help ? Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
On a besoin de savoir comment tu crées tes NSStrings avant de les afficher.
Y aurait-il plusieurs façons de créer des NSString ?
NSString
J'ai toujours eu du mal avec les caractères.
Bon je récapitule.
Je définis le codage UTF8 dans PostgreSQL, tout est ok dans pgAdmin les "é" s'affichent bien "é" (tout cela sur mon mac OSX).
Normalement(?) les textes que je récupère sont codés en UTF8.
Si j'ai bien compris, l'encodage NSString de base est du UTF8 ?
Pourquoi un "é" devient-il un "é" ?
Par contre lorsque qu'on l'initialise avec une chaine de caractère extérieure, il faut préciser à NSString comment est codée cette chaine.
Par défaut, c'est MAC OS ROMAN, ce qui explique pourquoi quand tu stockes ton résultat Postgre, ça coince.
Donc, tu dois utiliser les méthodes NSString qui spécifient l'encodage (dans ton cas, je pense qu'un stringWithUTF8String: / initWithUTF8String: sera suffisant (en supposant que tu utilises la lib C de Postgre, et que le résultat d'une requête est renvoyé sous forme d'un pointeur de char pour les colonnes de type alpha).
J'ai essayé et ça ne marche pas, pas plus que les conversions que j'ai pu découvrir dans la doc.
NB : c'est bien la lib C qui est utilisée par l'interface NKD.
Ce que je ne comprends pas, c'est que l'interface NKD me renvoie une NSString (je me suis penché sur le code ...), alors quoi ?