Fonction str_replace() et espaces

Résolu
litteratureaudio -  
 litteratureaudio -
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. litteratureaudio
     
    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
  2. rescue Messages postés 1047 Statut Contributeur 136
     
    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