|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Chef de projet NTIC Inscription : avril 2007 Messages : 225 ![]() |
Bonjour
J'ai dans une base de données des données mal encodé (voir id 72 et 85) : Y aurait il une fonction qui permette de convertir ces caractères mal encodé en caractère lisible? J'ai essayé utf8_decode() mais ça ne fonctionne pas. Merci |
|
|
00
|
|
|
#2 | ||
|
Membre confirmé
![]() Chef de projet NTIC Inscription : avril 2007 Messages : 225 ![]() |
En fait l'image ne correspond pas à ce que j'avais vraiment:
Voici les caractères que j'obtiens réellement: é ´ à¶ etc ... J'ai fait une fonction qui permet de convertir mais si quelqu'un a une solution plus automatique, je suis preneur: Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Thierry NFC & DevWeb Inscription : avril 2006 Messages : 1 175 ![]() |
Avant de faire quoi que ce soit, tu devrais vérifier que l'encodage de tes tables soit bon.
Si tu utilise MySQL, il te faut être en latin1_swedish_ci ce qui signifie aussi ISO-8859-1. Attention un changement d'encodage brutal risque d'avoir des effets surprenant, je te conseil donc de faire une copy de tes tables avant |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Chef de projet NTIC Inscription : avril 2007 Messages : 225 ![]() |
Bonjour bonjour
Oui ma base de donnée est bien une mysql et a bien le bon encodage. Le problème venait de PHP. Dans le fichier php.ini, le parametre qui disait à PHP d'etre en iso-8859-15 était commenté (default_charset = "iso-8859-15"). Pour les nouvelles insertions en base, le problème est réglé. Maintenant il faut corriger ce qu'il y a deja en base. En fait j'ai lu que quand il y avait des caractères comme ça é , le ƒÂ siginifie qu'il y a eu un double encodage. Il faut donc passer une requete de ce style : Code :
UPDATE nom_table SET `nom_colonne` = REPLACE(nom_colonne,'ƒÂ',''); Mais j'ai encore des caractères comme À“ ou Ø (etc) et je ne sais pas ce que c'est. Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com