Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1844 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

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

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°2188379
winimalcav
la folie c'est la base
Posté le 01-05-2013 à 19:09:33  profilanswer
 

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
mood
Publicité
Posté le 01-05-2013 à 19:09:33  profilanswer
 

n°2189049
CyberDenix
Posté le 05-05-2013 à 20:56:56  profilanswer
 

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)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

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

 

Sujets relatifs
Function PHP : heu comment expliquer je deviens fou ;)[XML/XSL/XSD] Insérer tel quel un document HTML, doctype ?
Script PHP (rémunéré)renvoi de formulaire html par PHP
Petite aide niveau tablea en HTML/PHP?Php connaitre le login
[PHP] multitasking / multithreading en PHP ?Sécuriser son code source PHP avec Bcompiler ou un autre encodeur
Transformer mon XML avec XSLT[PHP et HTML] Mettre une varial PHP lors d'un click d'un bouton HTML.
Plus de sujets relatifs à : [JS/PHP/XML] Les encodages...


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR