Mysql/Php problème d'affichage d'accent

Résolu/Fermé
pignou0 Messages postés 51 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 mai 2013 - 22 avril 2013 à 11:11
 DPTYL - 8 oct. 2013 à 18:22
Bonjour,

Voilà j'ai vu plein de solution à ce problème mais aucune n'a vraiment marché pour moi.
Je récupère des données qui possèdent des accents dans une base et ceux ci sont mal écrit dans ma page par la suite.

Les accents se présentent comme ceux ci : ch?que

J'ai donc mit un htmlentities afin d'enlever ce caractère mais je me retrouve avec ça : chèque

Et là je en sais plus quoi faire malgrès ma meta qui change d'habitude ces caractères, dans le tableau ça ne les modifie pas.

Une idée ? Un conseil ?

Merci d'avance

4 réponses

gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
22 avril 2013 à 12:07
Bonjour,

A voir:
1. Quel encodage est ta page html/php
2. Quel encodage est ta BDD
3. Quel déclaration est faite sur la meta
4. Quel encodage réel utilise-tu lors du transfert HTTP (fonction header() php)

Je te conseil UTF-8 pour tout ça
2
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
22 avril 2013 à 14:59
Regarde du coté des fonction ut8_decode et utf8_encode :)
1
pignou0 Messages postés 51 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 mai 2013 2
22 avril 2013 à 15:13
Déjà fait ca n'a rien changé :s
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
22 avril 2013 à 15:17
Bizarre ca, attention : c'est decode avant de mettre en base, et encode quand tu sors ton texte de la base pour l'afficher.
0
pignou0 Messages postés 51 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 mai 2013 2
22 avril 2013 à 15:22
Oui la j'ai tester de faire encode en le sortant mais ça n'a rien changé, je ne peux pas faire de décode car ce n'est pas moi qui fournit la BDD mais un autre logiciel
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
22 avril 2013 à 15:23
Bah le problème doit venir de la alors !
0
pignou0 Messages postés 51 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 mai 2013 2
22 avril 2013 à 15:37
Oui mais il doit bieny avoir un moyen au moment ou on récupère les données de les transformer pour avoir des caractères potables non?
0
Salut salut,

Le bonheur de l'encodage, il faut faire attention à utiliser le même à chaque étape.
Pour ton cas il faut que tout soit encodé en UTF8 , tu dois le préciser dans la balise meta du document html, lors de l'insertion en base il ne faut pas l'oublier non plus ( exemple mysql_query("SET NAMES 'utf8'"); ) et utiliser cet encodage dans la définition de la structure de tes champs.

Résolu? ===> [RESOLU]
0
pignou0 Messages postés 51 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 mai 2013 2
22 avril 2013 à 14:07
Alors

Ma meta est bien Utf 8, j'ai bien fait le mysql_query("SET NAMES 'utf8'"); mes bases sont sous interclassement utf8_general_ci.
Il ne reste plus que l'encodage http mais je ne comprends pas trop ce que tu entends par là gardien.

A savoir que mon header est dans un premier fichier PHP entre print<<<END et que le body est dans un autre fichier PHP lui aussi entre print <<<END. J'ai donc seulement mit la meta dans le premier, dans le head qui est dans le print
0
gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
22 avril 2013 à 14:35
Y'a t'il moyens que tu postes ton lien?
0
pignou0 Messages postés 51 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 mai 2013 2
22 avril 2013 à 14:54
Mon site est en localhost et le code est vraiment très très gros :x
0
gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
22 avril 2013 à 14:59
Bon regarde dans ton navigateur sur quel charset il est quand tu es sur ta page.
Sinon quand tu as des accents sur ta page en brute pas de problèmes?
0
pignou0 Messages postés 51 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 mai 2013 2
Modifié par pignou0 le 22/04/2013 à 15:16
Oui les autres accents en brutes passent sans soucis donc je pense que ca vient de la BDD et encore je ne suis pas sur, car dans ma BDD j'ai des mot qui sont récuéprer d'une autre BDD (ceux ci n'affichent pas leurs accents) et des mot que j'ai rentré dedans via mon php (eux leurs accents s'affichent correctement)

Ps : sous chrome aucun accent ne s'affiche
0