[PHP] Encodage de texte

Résolu
Bonjour à vous,
J'ai un problème avec l'encodage du texte sur mon site web.
J'ai une base de donnée MySQL, et j'aimerais que mon texte passe d'un encodage à un autre.
Par exemple, présentement mes "é" sont écrit "& eacute;" mais je voudrais qu'ils deviennent "Ã ©".

J'aurais au moins besoin de connaître qu'elle est l'encodage de l'un et de l'autre pour trouver la bonne méthode de conversion. J'ai UTF8 encode/decode et html_entities, mais rien de concluant pour l'instant.

Merci de votre aide!

EDIT:
- Si dans mon formulaire j'écris "é" et que je le passe dans html_entities ça me donne "& eacute;"
- Si dans mon formulaire j'écris "é" et que je ne le passe pas dans html_entities ça me donne "Ã ©"

Conclusion, dans le 2e cas l'encodage serait celle de mon champ dans ma base de données?

3 réponses

  1. Contributeur
    Salut,

    Ce lien pourra peut-être t'aider : https://www.commentcamarche.net/contents/489-caracteres-speciaux-html

    A+
    0
    1. Je n'ai pas très bien compris ton problème mais pour éviter les problèmes d'encodages en UTF-8 sans passer par les entités HTML (eacute, ...), il faut :

      - Encoder tes fichiers en UTF-8 avec ton éditeur
      - Ajouter la balise meta :
      <meta http-equiv="Content-type" contenu="text/html; charset=utf-8" />
      - Mettre les champs de ta base de données en utf8_bin ou utf8_general_ci
      0
      1. J'ai finalement réussi en fait un html_entity_decode($string,ENT_QUOTES,'UTF-8');

        Avec ça ça prend le "& eacute" et ça le retransforme en é. Je peux donc le gérer à ma guise.

        Merci votre temps
        0