Ajoute la ligne suivante ans ton fichier my.ini, dans la section [mysqld]
Code:init-connect='SET NAMES utf8'
Version imprimable
Ajoute la ligne suivante ans ton fichier my.ini, dans la section [mysqld]
Code:init-connect='SET NAMES utf8'
Reprend les solutions que je t'ai déjà proposé alors avec mysql_set_charset() et voit avec quel encodage tu obtiens un affichage correct dans phpmyadmin.
Enfin... une bonne démarche serait de tout passer en UTF8.
ou comme dit @sabotage, tu fais
Code:
1
2
3
4
5 <?php $link = mysql_connect('localhost', 'user', 'password'); mysql_set_charset('utf8',$link); ...
Avec PHPmyadmin : toujours des ? au lieu des caractères accentués.Code:
1
2 $db = mysql_connect('rudyv.be....); mysql_set_charset('utf8',$db);
C'est que ton site n'est pas en UTF8 .... enfin relis tout ce que je t'ai déjà dit, on ne va pas tout répéter.
J'ai tout reluJe ne vois pas où tu as dit comment je peux passer mon site en UTF8; pour info mon site c'est 247 fichiers php sans compter les htm.
Le lien dans le premier message c'est "Passez à l'UTF-8 sans manquer une étape".
Passer à UTF8 c'est une suggestion ; si tu veux rester en ISO (ce qui a priori est l'encodage avec lequel a démarré ton site), spécifie seulement cet encodage avec mysql_set_charset()
Bonjour,
Passer en UTF-8 nécessiterait de
- modifier tous les scripts pour ajouter un charset UTF-8
- réenregistrer tous les fichiers en UTF-8
- recharger tous les fichiers sur le serveur
ce serait vraiment fastidieux.
Les scripts contiennent souvent une instruction header (en php) ou meta (html) avec charset=iso-8859-1.
Tous ces scripts fonctionnent correctement sauf quand une donnée passe par le DB MySQL (alors que ça fonctionnait aussi très bien avant que l'hébergeur ne change de version).
J'ai donc ajouté mysql_set_charset('iso-8859-1',$db); après $db = mysql_connect
mais ça ne fonctionne toujours pas : si je fais un Insert d'un record qui contient par exemple "Hervé" puis que je vais voir avec MyPHPadmin je trouve "Herv?".
En écrivant ceci je me suis demandé si mon serveur connaît le charset iso-8859-1
la réponse est "oui" sauf qu'il l'appelle "latin1"
j'ai donc mis mysql_set_charset('latin1',$db); après $db = mysql_connect
et ça fonctionne !
Problème résolu.
Je n'ai plus qu'à corriger la DB : remplacer les ? par le caractère correct.
Merci pour votre aide.
Indiqué comme résolu.