Problème sur caractères accentués

Eléphanteau du PHP | 24 Messages

20 mars 2014, 23:34

Bonjour,

Je fais actuellement un test tout bête d'affichage de de données depuis mySQL via PHP.
La table et les champs sont en ut8_general_ci
J'affiche le contenu de la table en php avec en tête de fichier "<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />".
Pourtant le contenu ne s'affiche correctement que si je dis au navigateur que l'encodage de la page est en ISO-8859-1.

Savez-vous pourquoi ?

Merci

Mammouth du PHP | 2278 Messages

22 mars 2014, 20:35

Quel est l'encodage de la table?
show table status; dans phpmyadmin ou équivalent.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphanteau du PHP | 24 Messages

23 mars 2014, 18:43

Bonjour,

Comme je l'indiquais elle est en utf8_general_ci.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

23 mars 2014, 19:13

salut,

as tu suivis tous ce qui est mis dans ce tuto faq-tutoriels/encodage-utf-t245062.html ?
notamment :
- encodage du fichier php
- encodage de la connexion vers mysql
- entête http envoyée ? (ce n'est le tag meta que tu indique)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 24 Messages

23 mars 2014, 19:56

Merci,

J'ai évacué les différentes possibilités et le pb venait de la connexion MySQL.
Je suis obligé de faire un "SET NAMES 'utf8'" après la connexion pour que ce soit OK.

Bizarre je n'avais jamais eu ce problème de le passé. Pour que ce soit par défaut en UTF8, je ne sais pas s'il faut paramétrer quelque chose dans le fichier de config de mySQL...

En tout cas merci, mon problème est résolu.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

23 mars 2014, 22:37

la config de mysql comprend pas mal de possibilités à ce niveau la :
- base
- table
- colonne
- connexion

Ensuite suivant ton serveur web tu ne pourras peux être pas modifier quoi que ce soit d'utile :s

si ton sujet est résolus peux tu cliquer sur le bouton résolus a coté du titre ;)

merci

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 24 Messages

24 mars 2014, 11:37

Justement les 3 premiers points étant cernés, je sais maintenant que ça vient de la connexion, alors je me demandais si par défaut (j'ai accès à tout le serveur) on pouvait déterminer la connexion sur UTF-8, mais je ne sais pas si ça se fait au niveau du module mysql/mysqli ou ailleurs.