Version complète: sur le forum Webmaster Hub : Problème d'encodage avec fread
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
lorik
Bonjour,

J'ai un problème à la lexture d'un fichier : Dans le fichier, les caractères accentuées sont bons, mais après fopen et fread, les caractères accentués sont remplacés par d'autres incorrects.


Je n'ai pas vu dans la doc sur ces fonctions la possibilité d'ajouter des encodages spécifiques.

Comment peut on contourner le problème ?

Merci de votre aide.
Anonymus
Il faudrait que tu nous dises à quoi ressemblent ces caractères 'incorrects'.
A la base, c'est très probablement un problème d'encodage de ta page :
Tu envoies sur ta page des caractères d'une certaine facon, qui ne correspond pas à la manière dont tu déclares ta page.
Avec l'url de celle ci, on pourrait savoir quelle fonction te serait nécessaire.
mais de base, tu pourrais essayer ces fonctions :
htmlentities, htmlspecialchars, utf8_encode.
Essaies ca, éventuellement passes nous ol'url de la page, ou.. au moins un descriptif de ces caractères 'incorrects'. smile.gif


Nico.
lorik
Salut nico,

Bah, si j'ai dans mon fichier texte des caractères 'ç-é-ë-&-è-à-â-ô-ê-ù' , après fread, il sont renplacés par 'ç-é-ë-&-è-à -â-ô-ê-ù'.

a priori, ce n'est pas un problème d'encodage de la page, puisuqe les données ne sont pas affichées, ça reste dans le code.

J'ai essayé utf8_encode(), c'est pire sad.gif


au final, j'utilise str_replace pour remettre d'aplomb, c'est pas 'clean', mais dans l'ugence, ça dépanne, sauf que certains caractères 'pas bons' sont pas identifiés par la fonction.

Par exemple, str_replace("Ã ", "à", $texte) ne marche pas (il y a bien un espace après le Ã).

Bref, ça fait 2 problèmes qui m'empèchent d'avancer...
Anonymus
Alors essaie son p'tit frère : utf8_decode() smile.gif
lorik
T'es un génie.... hypocrite.gif

Pb réglé smile.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.