Parsing d'un flux XML en utf-8 pour l'afficher en iso-8859-15

Répondre
Bzh
Bzh
Déconnecté
J'ai un tit souci de local là et je m'embrouille...

Je parse un flux xml en utf-8 alors que le site est en iso-8859-15 !

Vous imaginez bien que lors de l'affichages, il y a un souci avec les caratères !

Peut on forcer le choix du local avec file_get_contents() ??? Il retourne le fichier codé en utf-8 en iso-8859-15 !

Il y a donc un sacré souci...
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Tu dois utiliser la fonction iconv.

Cette fonction va te permettre de transformer l'UTF-8 en ISO-8859-15 mais comme tu t'en doutes, l'ISO-8859-15 comporte moins de caractères que l'UTF-8, par conséquent, tu risques de ne pas pouvoir convertir certains caractères.

Pour éviter que iconv "s'arrête" (en générant une erreur) sur ces caractères qu'il ne peut pas traduire, tu as deux options :
- TRANSLIT : lorsqu'un caractère ne peut être représenté en ISO-8859-15, iconv va essayé de trouver un (ou plusieurs caractères) de substitution
- IGNORE : les caractères qui ne peuvent pas être traduis en ISO-8859-15 sont ignorés

Au final :

  1. <?php
  2. $chaine_iso = iconv('UTF-8', 'ISO-8859-1//IGNORE', $chaine_utf8);  
  3. ?> 


(IGNORE ou bien TRANSLIT, au choix)
Bzh
Bzh
Déconnecté
Oui, mais OVH ne connait pas cette fonction !

Je ne sais pas du tout comment faire là...
Bzh
Bzh
Déconnecté
Pffff ! C'est résolut !

Il faut activer le php5 par defaut en insérant "SetEnv PHP_VER 5" dans le htaccess !
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog