Utf_encode

rutchyweb Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   -
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

ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'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
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
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+
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
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.
0