Encodage UTF-8 [Web + MySQL]

Sandriine Messages postés 1400 Statut Membre -  
avion-f16 Messages postés 20368 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 ?
A voir également:

8 réponses

avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
- 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, ...).
0
Sandriine Messages postés 1400 Statut Membre 283
 
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 "é")
0
Utilisateur anonyme
 
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
@+
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sandriine Messages postés 1400 Statut Membre 283
 
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...
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
Et quel est l'encodage indiqué par ton navigateur ?
0
Sandriine Messages postés 1400 Statut Membre 283
 
Unicode (UTF-8)
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
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 ...") ?
0