Encodage UTF-8 [Web + MySQL]
Sandriine
Messages postés
1400
Statut
Membre
-
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un site en utf-8 et une base de données MySQL derrière, comment dois-je faire pour que mes accents s'affichent correctement sur le site ET sur MySQL svp ?
J'ai un site en utf-8 et une base de données MySQL derrière, comment dois-je faire pour que mes accents s'affichent correctement sur le site ET sur MySQL svp ?
8 réponses
-
- Encode ton fichier en UTF-8
- Indique au navigateur que la page est en UTF-8 :<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
- Mets les champs de tes tables en utf8_ (bin, general_ci, ...). -
C'est ce que j'ai fait pourtant lorsque j'ajoute un champ depuis mon site dans la BDD, ça affiche mal les accents dans la BDD ("é" pour un caractère "é")
-
salut,
utilise les fonctions php utf8_encode() et utf8_decode()
comme ton site est en utf8 tu utilise la fonction utf8_decode() pour tranferer des données vers la bdd
et le tour est joué
si le probleme est maintenant sur le site tu utilise la fonction utf8_decode()
pour les information provenant de la BDD
exemple:utf8_decode('ééééééééééé'); et tu auras éééééééééé ds la BDD ou avec une variable utf8_encode($var);
à toi de jongler avec ces fonctions
pour plus d'infos tu tapes ces fonctions sur google et tu auras des exemples de code
@+ -
Inutile d'utiliser utf8_encode() ou utf8_decode().
Je fais mon site totalement en UTF-8 et je n'utilise pas ces fonctions.
@Sandriine : Vérifies l'encodage utilisé par ton navigateur. Dans Firefox : Affichage -> Encodage -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Oui il me semble bien que je devrais y arriver sans les fonctions utf8_encode() et utf8_decode() ...
Pourtant le type de mes champs et de ma BDD est bien utf8_general_ci, le type de ma page (même dans firefox est utf-8), alors que quand j'ajoute un nouveau champ dans ma BDD (requête INSERT) à partir de mon site, l'accent ne s'écrit pas correctement...
Ca doit bien venir de quelque part... -
Et quel est l'encodage indiqué par ton navigateur ?
-
-
Quand "é" devient "é", c'est parce que l'encodage de la chaine est en UTF-8 mais que quelque-chose essaye de l'afficher en ISO-8859-1.
J'ai encore quelques questions :
- Quel est l'encodage indiqué par ton navigateur sur PhpMyAdmin ?
- Est-ce que tu as aussi ce problème quand tu affiches les caractères sur une autre page (via une requête "SELECT ...") ?