Fonction str_replace() et espaces

Résolu/Fermé
litteratureaudio - 10 déc. 2007 à 01:10
 litteratureaudio - 10 déc. 2007 à 21:20
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
A voir également:

2 réponses

litteratureaudio
10 déc. 2007 à 21:20
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
rescue Messages postés 1039 Date d'inscription vendredi 16 novembre 2007 Statut Contributeur Dernière intervention 27 mars 2019 136
10 déc. 2007 à 19:02
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