Fonction str_replace() et espaces

Résolu
Bonjour à tous,

Je suis en train de configurer le script PHP d'une newsletter de manière à rectifier quelques erreurs d'affichage (des accents qui ne passent pas).

En particulier, mes caractères "à" sont remplacés par "à ". Si bien que par exemple, "Bonjour à tous" devient "Bonjour à tous" (avec 2 espaces).

J'arrive à remplacer le "Ã" par un "à" normal mais je ne parviens pas à remplacer "Ã " (avec l'espace) par "à". Sans doute à cause de la gestion des espaces en PHP. Pourriez-vous m'aider ?

Voici ma ligne de code :

$message = str_replace('Ã ', 'à', $message);


D'avance merci !

Augustin

2 réponses

  1. Alors la solution proposée ne fonctionne pas mais j'ai trouvé le truc pour que l'espace soit reconnu dans la ligne de code suivante :

    $message = str_replace('Ã ', 'à', $message);


    Avec un éditeur comme Notepad++, il faut se mettre en mode Hex et changer le "C3 20" qui correspond au "Ã " en "C3 A0" (ce qui affiche toujours "Ã ").

    Ne me demandez pas pourquoi mais ça fonctionne !
    1
    1. Contributeur
      Bonsoir,

      C'est juste un problème unicode.

      UTF-8 et ISO-8859-1

      pour résoudre ton problème en haut de ta page utilise cette balise meta.

      <META HTTP-EQUIV="Content-Type" content="text/html; charset=ISO-8859-1" />

      @+
      0