Aller au contenu

Pb str_replace et fichier en UTF-8


Sujets conseillés

Posté (modifié)

Bonjour à tous,

Je galère depuis ce matin sur un truc.

J'ai un script qui lit un fichier xml dans lequel je souhaite remplacer une chaine :

$xml = file_get_contents($fichier);
$xml = str_replace("{URL}","http://www.site.tld/",$xml);

Le problème, c'est que ca ne remplace rien là...

Le fichier est en UTF-8 je ne sais si c'est ça le problème. (je ne peux pas les transformer en iso).

Vous voyez pas d'ou vient le problème ?

Modifié par Grasshopper
Posté (modifié)

kioob, pour l'instant j'en fais un echo, pour voir le contenu.

Captain, ca ne change rien...

D'ailleurs si je lance une fonction de détection UTF-8 du fichier, PHP ne me le détecte pas en UTF-8.

Mais si je l'édite en hexa, ca ressemble quand même bien à de l'utf-8, what else ?

edit : l'édition du fichier en hexa m'a permi de voir qu'il commencait par "FF FE", ce qui voudrait dire qu'il est en utf-16...

Bon, maintenant il faut que je voie comment gérer l'utf-16...

Modifié par Grasshopper
Posté (modifié)

Oki, effectivement s'il s'agit d'UTF-16, ça change la donne. Je suis loin d'être expert en la matière, mais pour le coup je verrais bien un coup de mb_ereg_replace(), non ?

PS : normalement dans un fichier XML l'encodage est précisé non ?

Modifié par Kioob
Posté

C'est bon, j'ai créé une petite fonction d'encodage en utf-16 qui fera l'affaire.

Ensuite je fais un str_replace sur ces chaines réencodées et ca marche !

Youpi la fete :)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...