[Résolu] Transformer charset d'une variable en php.

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

yann123
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 109
Inscription: Lun Avr 11, 2005 21:39

[Résolu] Transformer charset d'une variable en php.

Message le Mer Nov 14, 2007 20:38

Bonjour,

je travaille actuellement sur un site internet codé en charset: iso-8859-1.

Sur ce site j'insère du texte dynamiquement à partir d'un flux xml, qui lui est codé en utf-8.

Mon problème est que ce flux utf-8 s'affiche très mal "éèé....". Normal puisque le reste du site est en iso-8859-1.

Avant d'afficher le texte sur mon site, je met les balises xml dans des variables en php et ce sont ces variables que je rappellent pour les afficher.

Savez-vous comment je pourrais transformer le contenu de mes variables de utf-8 vers iso-8859-1 avant de les afficher ?

Existe-il une fonction php pour cela (ce srais l'idéal) ?

Merci d'avance.
Dernière édition par yann123 le Ven Nov 23, 2007 17:42, édité 1 fois.

Sir Dipp
WRInaute accro
WRInaute accro
 
Messages: 1025
Inscription: Lun Juil 21, 2003 17:53

Message le Mer Nov 14, 2007 20:48

Salut,

Il y a bien une fonction, mb_convert_encoding. Hélas le problème c'est que l'extention mb_* n'est pas disponible sur tous les hébergeurs, donc espèront que tu ai un peu de chance.

Sinon, un utf8_decode ferait peut-être l'affaire ;-)

A+

yann123
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 109
Inscription: Lun Avr 11, 2005 21:39

Message le Mer Nov 14, 2007 21:47

J'ai fait un test comme ceci.

Code: Tout sélectionner
$texte=utf8_decode($text);


Quand j'ouvre ma page j'ai juste un "r" qui s'affiche à la place de chaque texte.

Comprends pas, je fais d'autre tests.

Merci de ta rapidité.


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Mer Nov 14, 2007 22:25

n'est il pas possible pas changer le charset du fichier xml ?
<?xml version="1.0" encoding="ISO-8859-1"?>

yann123
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 109
Inscription: Lun Avr 11, 2005 21:39

Message le Lun Nov 19, 2007 0:19

Bonsoir,

Merci de vos réponses, pour l'instant j'ai tout simplement changé le charset de la page en utf-8, cela s'affiche bien.

Je reviendrais sur ce problème plus tard car j'ai pas réussi ce que je voulais.

Parfois avec un peu de recul on comprends mieux.

merci encore



n'est il pas possible pas changer le charset du fichier xml ?
<?xml version="1.0" encoding="ISO-8859-1"?>


Non, le flux ne m'appartiens pas, je ne peux pas y toucher .

yann123
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 109
Inscription: Lun Avr 11, 2005 21:39

Message le Ven Nov 23, 2007 17:41

Bonjour,

J'ai réussit à résoudre mon problème avec utf8_decode

Quand je parse mon flux xml, j'utilise utf8_decode avant d'enregistrer ma balise xml dans une variable.

Ci dessous, je lis la balise xml "login" que j'enregistre dans la variable $login et j'utilise la balise utf8_decode avant de l'enregistrer dans la variable. ça marche nickel.

Code: Tout sélectionner
eregi("<login>(.*)</login>",utf8_decode( $results[$i+1] ), $login);


Par contre si j'enregistre ma balise dans une variable et que ensuite je la décode ça ne marche pas. (ce que j'avais fais en premier)

Code: Tout sélectionner
eregi("<login>(.*)</login>", $results[$i+1], $login);
$login=utf8_decode($login);


Voila c'étais juste pour essayer d'expliquer le problème que j'ai rencontré, ça peut peut-être servir à d'autres un jour.

Problème résolu.

Merci


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités