Encodage MySQL UTF-8 -> HTML iso-8859-1

Résolu
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

  1. Mais quand je mets la page en UTF-8, ça ne met toujours pas les bons caractères.
    0
    1. 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+
      0
      1. 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 ?
        0
      2. utilise l'html5 avec le <!doctype html> et le <meta charset = "utf-8">
        0
    2. Modérateur
      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)
      -1
      1. 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+
        -1
        1. Bonjour,

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