Probleme d'encodage de caracteres ( CROSSPOST Php et MySql)

Le
Nobody
Salut,

J'ai des pages php en utf-8 qui tirent du contenu d'une bdd mySql.
Pb : Le contenu de cette base est apparemment du iso-8859-1 et la
translation n'est pas automatique.
De plus, ces données une fois tirées de la bdd sont mélangées à d'autres
provenant du fichier php (dont en utf-8 celles-là) et ce mic-mac me fait
un noeud inextricable.

Je voudrais donc que TOUS les textes contenus dans ma bdd soient encodés
en utf-8. Comment faire ?

Merci
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ganf
Le #670102
Le Fri, 24 Sep 2004 21:02:07 +0000, Nobody a écrit :
Je voudrais donc que TOUS les textes contenus dans ma bdd soient
encodés en utf-8. Comment faire ?


Mysql ne gère l'UTF8 que à partir de sa version 4.1 (non stable). Il te
la faudra donc. Il te faudra donc probablement faire évoluer ta base, et
faire un petit script qui converti les données vers le nouveau codage.
Dans la doc mysql tu as un très bon chapitre qui parle des possibilités
mysql là dessus et de comment gérer les codages caractères.

Entre temps tu peux utiliser les fonctions utf8_encode() et utf8_decode().
Tu fais un utf8_decode() sur tout ce que tu envoies à mysql, et un
utf8_decode() sur tout ce que tu y récupères avant de l'utiliser.


--
Eric Daspet
"PHP 5 avancé" aux éditions Eyrolles
http://www.eyrolles.com/Informatique/Livre/9782212113235/livre-php-5

Publicité
Poster une réponse
Anonyme