[JS/PHP/XML] Les encodages...

Les encodages... [JS/PHP/XML] - PHP - Programmation

Marsh Posté le 01-05-2013 à 19:09:33    

Bien le bonjour a tous,
 
Alors voila, j'ai un petit soucis que je sait "résoudre" mais je reste persuadé que je m'y prend mal et surtout que je suis tributaire des évolutions des navigateur serveur etc.... Et je me dit qu'il y a une chose que je doit oublier quelque par...
 
- Je dispose d'une page html qui fait appel a un fichier php par js (httprequest).
- Le fichier php récupère un fichier xml par cette méthode : file_get_contents('tableau.xml',FILE_USE_INCLUDE_PATH) et le renvois en echo simple...
- Et lors de l'envois, je doit en théorie encoder le contenus en utf8 pour que les navigateur puissent l'exploiter.

Seul hic, je suis obligé de filtrer les navigateurs & serveur ainsi pour que l'encodage ne soit pas "corrompus" :

 
$GLOBALS['xml'] = file_get_contents('tableau.xml',FILE_USE_INCLUDE_PATH);
 
if($_SERVER["HTTP_HOST"]=="localhost" ) {
 
 if($GLOBALS['NAVIG']=="Mozilla" || $GLOBALS['NAVIG']=="Opera" ||$GLOBALS['NAVIG']=="MSIE" || $GLOBALS['NAVIG']=="Chrome" || $GLOBALS['NAVIG']=="Safari" ) echo utf8_encode($GLOBALS['xml']);
 else echo ($GLOBALS['xml']);
 
} else {
 
 if($GLOBALS['NAVIG']=="Mozilla" || $GLOBALS['NAVIG']=="MSIE" ) echo utf8_encode($GLOBALS['xml']);
 else echo ($GLOBALS['xml']);/* -> if($GLOBALS['NAVIG']=="Opera" || $GLOBALS['NAVIG']=="Chrome" || $GLOBALS['NAVIG']=="Safari" )*/  
 
}
 
 
J'ai pourtant encodé mes fichiers php en utf-8(sans bom), ma méta : <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />, envoyé le header par php rien n'y fait, c'est chacun sa sauce selon les navigateurs/serveur.
 
Alors une chose qui me chagrine, c'est que pour que mon xml fonctionne parfaitement, je suis contraint de l'encoder ainsi : <?xml version="1.0" encoding="ISO-8859-1"?>, sinon il ne passe pas en httprequest... j'enregistre pourtant dedans en utf8... et si je passe l'enregistrement en iso les textes deviennent illisible. Oo  
 
Donc si vous avez une solution plus propre je suis preneur car j'ai déjà vu MSIE être mis a jour et du coup son comportement avait été inversé.... je n'ose même pas imaginer les différentes interprétation avec tout les vieux navigateur etc...
 
Je charge initialement l'xml par httprequest car mon site le met a jour et le recharge a chaque fois...
 
Donc là dedans, je doit faire une erreur, mais la seule chose problématique me semble il c'est les différence d’interprétation d'un serveur/navigateur a un autre... une idée?? :??:


Message édité par winimalcav le 01-05-2013 à 19:17:27
Reply

Marsh Posté le 01-05-2013 à 19:09:33   

Reply

Marsh Posté le 05-05-2013 à 20:56:56    

mb_internal_encoding('UTF-8');
 
A placer au début de ton script


Message édité par CyberDenix le 05-05-2013 à 20:57:52

---------------
Directeur Technique (CTO)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed