Problème de charset...

Résolu/Fermé
ephelya Messages postés 282 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 3 oct. 2016 à 20:38
ephelya Messages postés 282 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 3 oct. 2016 à 23:47
Bonjour,

J'ai un souci de charset sûrement très basique pour ceux qui s'y connaissent mais que je n'arrive absolument pas à résoudre :
Je récupère des infos dans ma bdd (qui est en utf8_general_ci) depuis un script php (enregistré au format utf8) et auxquelles j'ai ajouté un utf8-decode avant affichage, mais rien à faire, tous les accents sortent en "?"
Quelqu'un a une idée d'où peut venir le problème ?
Pour info il s'agit d'un script appelé par une requête json, le format n'est pas déclaré comme avec un fichier html (dois-je le faire ?)
Merci d'avance pour votre aide, ça me pose un énorme problème !! :-)


4 réponses

jordane45 Messages postés 38284 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 novembre 2024 4 697
3 oct. 2016 à 21:39
Commence par retirer tous les utf8 encode et decode que tu peux avoir mis dans ton code
Vérifie que dans ta BDD les caractères accentués sont bien présents (via phpmyadmin par exemple)
Modifie le header en PHP de ta page :
header('Content-Type: text/html; charset=utf-8');

Assures toi que tes fichiers php sont bien encodés en utf8 sans bom
https://j-willette.developpez.com/tutoriels/web/encoder-son-site-en-utf8/#LIII

Chaque éditeur fonctionne de manière différente pour permettre l'enregistrement des fichiers en UTF-8. Voici quelques exemples de manipulation sur certains éditeurs :

Notepad++ : Aller dans Format > Encoder en UTF-8 (sans BOM).
Dreamweaver : Aller dans Modifier > Propriétés de la page > Titre/Codage.
Aptana : Aller dans Edit > Set Encoding.
Bloc notes Windows : Aller dans Fichier > Enregistrer sous... > Sélectionner UTF-8 dans la liste Codage.
PHPDesigner : Aller dans Fichier > Encodage du fichier > Sélectionner UTF-8 dans la liste.
PHPEdit : Dans la barre des tâches, sélectionner UTF-8 sans marque d'ordre des octets dans la liste.
UltraEdit : Aller dans Fichier > Conversions > ASCII vers UTF-8.
>



Si malgré tout ça ça ne fonctionne toujours pas, montre nous ton code (intégralement) suite à ces modifications.
1
jordane45 Messages postés 38284 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 novembre 2024 4 697
3 oct. 2016 à 22:23
Au passage... pour ceux qui auraient le même souci.. je viens de rédiger (à l'arrache ^^ ) une petite faq sur le sujet :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
0