Encodage MySQL UTF-8 -> HTML iso-8859-1 [Résolu/Fermé]

Signaler
Messages postés
6533
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
9 mars 2020
-
Messages postés
82
Date d'inscription
vendredi 27 novembre 2015
Statut
Membre
Dernière intervention
23 octobre 2018
-
Salut,

J'ai un problème assez con avec mon site.
Il se trouve que ma base SQL est encodée en UTF-8 (Hébergé sur un serveur Linux).
Mais que les pages HTML affichent en iso-8859-1 (selon l'header HTML).

Du coup les caractères spéciaux s'affichent très mal.

J'aimerais connaître une solution pour que ces caractères s'affichent normalement.

J'utilise PDO pour accéder à la base. Lors de l'affichage du texte, je fais simplement :
echo htmlentities($letexte);


Mais lorsque j'essaie de contrer le problème, le texte ne s'affiche carrément pas.

Je suis complétement perdu donc.
Si vous savez comment résoudre ça, ce serait cool. Merci d'avance.

5 réponses

Messages postés
6533
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
9 mars 2020
403
Mais quand je mets la page en UTF-8, ça ne met toujours pas les bons caractères.
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 255
Bonsoir,

la page doit pas seulement être en UTF8, le code source PHP/HTML doit AUSSI être en UTF8.

Avez-vus BIEN lu toute la page que je vous ai donné en lien?

A+
Messages postés
6533
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
9 mars 2020
403
Je n'avais pas vu que tu avais donné un lien désolé.

Bref j'ai encodé les fichiers aussi mais le problème persiste.

Je viens de voir que ma base est UTF-8 mais que mes champs sont à l'interclassement latin1_swedish_ci.

Le problème vient de là ?

J'ai changé un champ en utf8_unicode_ci mais les caractères ne changent pas.
Ils ne sont pas ré-encodés automatiquement ?
Messages postés
140
Date d'inscription
jeudi 7 mai 2015
Statut
Membre
Dernière intervention
26 octobre 2016
1
utilise l'html5 avec le <!doctype html> et le <meta charset = "utf-8">
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
888
Tu ferais mieux d'utiliser utf-8 dans tes pages et d'abandonner iso8*****.

Evidemmenent certains OS pourris et leurs logiciels proprios ne renedent pas la chose aisée.

Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 255
Bonjour,

La solution la plus simple: être 'full-UTF8' sur toute la chaîne de développement...

Toute autre solution en vous apportera que des emm....ents. de plus, en UTF8, plus besoin d'entités genre é en &eacute...

En savoir plus sur la chaîne full-UTF8:
http://html5.immo-scope.com/index.php?page=general/applisFullUtf8

A+
Messages postés
82
Date d'inscription
vendredi 27 novembre 2015
Statut
Membre
Dernière intervention
23 octobre 2018
7
Bonjour,

Avez-vous essayé, dans votre fichier de configuration, d'ajouter :
mysql_query("SET NAMES 'utf8'");