Utf_encode

Bonjour,

Je voudrais savoir comment on fait pour remplacer un mot ayant un caractère spéciaux avec une erreur d'encodage:
exemple:
Hyères -> Hyères et l'accent "è" doit être remplacé par "è"

j'ai ce code:
$hyeres=utf8_decode("Hyères");
et j'utilise str_replace pour le remplacer mais ça marche pas!

Merci de bien vouloir m'aider :)

2 réponses

  1. Contributeur
    'lut, ton problème d'encodage se situe a deux niveaux:
    - l'encodage du fichier source
    - l'encodage de la sortie
    En effet, PHP ne faisant pas la différence entre sources ni strings ASCII et UTF-8, ce n'est pas sa faute si la sortie n'est pas correcte. Si ta source est en UTF-8 -- elle devrait absolument l'être; si elle ne l'est pas convertis-la (sans cette connerie Micro$oftienne de BOM) -- et que ta sortie HTML est annoncée comme étant en UTF-8 (via le header HTTP
    Encoding
    , sa balise
    <meta>
    equivalente ou via
    <meta charset="utf-8">
    en HTML5), tu ne devrais jamais avoir a faire face a ce problème.

    En bref, met moi de l'UTF-8 partout, ça t'évitera bien des migraines.

    Autrement, si ta sortie et ta source sont déjà en UTF-8,
    utf8_decode("Hyères")
    est suffisant.
    from human import idiocy
    del idiocy
    1. Bonjour,

      Je vous conseille d'être "full UTF8", c'est à dire encodé UTF-8 en base de données, sources des scripts, encodage des pages web:
      https://html5.immo-scope.com/article/general_applisFullUtf8

      A+
      1. Contributeur
        Merci d'avoir réitéré ce que j'ai dis, car on a beau répéter qu'il faut de l'UTF-8 partout, il y a encore des hérétiques qui codent en ISO-8859.