Bonjour,
Je voudrais savoir comment convertir un string ISO-8859-1 en un string codé en UTF-8. J'utilise geoip qui me renvoi un code city en ISO-8859-1 et il faut que je le stoque dans une base de donnée postgres en UTF-8. Merci d'avance.
Nico.
Bonjour,
Je voudrais savoir comment convertir un string ISO-8859-1 en un string codé en UTF-8. J'utilise geoip qui me renvoi un code city en ISO-8859-1 et il faut que je le stoque dans une base de donnée postgres en UTF-8. Merci d'avance.
Nico.
Il n'y a rien en standard pour ça.
Par contre, Unicode commençant par ISO 8859-1, il est trivial de convertir de ISO 8859-1 en UTF-32/UCS-4.
Ensuite, on trouve assez facilement du code pour convertir UTF-32/UCS-4 en UTF-8...
Edit: Voir aussi et surtout les liens de cette FAQ.
Sinon, au niveau bibliothèques, il y a iconv sous POSIX et la fonction WideCharToMultiByte() (conversion UTF-16 vers divers encodages, dont UTF-8) sous Win32.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Convertir du ISO-8859-1 en UTF-8 est trivial puisque ISO-8859-1 et Unicode coïncident parfaitement. Il faut juste encoder les caractères non ASCII en UTF-8.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Au final j'ai utilisé la fonction isolat1ToUTF8 de la librairie XMLCharEncoding.h que j'avais à disposition et mon problème est réglé. Merci pour vos réponses!
++
C'est trivial dans le sens que c'est trois lignes et que ça ne nécessite aucune table.
Partager