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

  FORUM HardWare.fr
  Programmation
  PHP

  Accent et xml

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Accent et xml

n°850143
gedeon
Posté le 14-09-2004 à 17:53:34  profilanswer
 

Salut
 
Bon voila mon soucis :
J'ai un site web que je developpe en PHP avec le contenu et les style sous formes XML/XSL
 
Rien d'etonnant donc sauf que les caractère accentué ne s'affichent pas du tout , mal en fait !!
J'ai donc fais pas mal de recherche et vu que sur php , le codage par defaut du parseur est ISO-8859-1, mes fichiers xml sont aussi encodé de la meme maniere.  
 
C la que je ne comprends pas car si je prends les memes fichiers xml et que je les parse avec les objets du framework.Net (en ASP.NET donc) les accents passent !!!
 
Je suis en PHP5 et comme je ne m'y connais pas enormément je fait appel a vos lumieres. J'ai reproduit le pb sur un exemple, ça donne ça :  
 
test.php
***********************************************************
<html>
<head>
<title>test XML</title>
</head>
<body>
<?
$document = new DomDocument;
$document->preserveWhiteSpace = false;
$document->load("./data.xml" );
 
$listItem = $document->getElementsByTagName("data" );
foreach ($listItem as $nodeList)
{
    print $nodeList->firstChild->nodeValue ;
    print '<br/>';
}
?>
</body>
*********************************************************
 
 
data.xml  
**********************************************************
<?xml version="1.0" encoding="ISO-8859-1"?>
<test>
        <data>un é</data>
        <data>deux è</data>
        <data>trois à</data>
</test>
**********************************************************
 
 
Resultat :  
 
un é
deux è
trois Ã
 
 
Quelqu'un a une idée ?
 
 
 
 

mood
Publicité
Posté le 14-09-2004 à 17:53:34  profilanswer
 

n°850223
Gaby59
Posté le 14-09-2004 à 20:49:08  profilanswer
 

je crois que cela viens de ca  "encoding="ISO-8859-1"" il faut peut etre utiliser une autre norme comme l'utf8
 
Yannick

n°850224
simogeo
j'ai jamais tué de chats, ...
Posté le 14-09-2004 à 20:49:51  profilanswer
 

da


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°850601
SatanKoRn
J'T'A'M !
Posté le 15-09-2004 à 11:23:00  profilanswer
 

en fait, j'ai le même problème que Gedeon et pourtant, j'ai bien précisé encoding="UTF-8"...


---------------
Matt
n°850633
gedeon
Posté le 15-09-2004 à 12:05:52  profilanswer
 

De plus plus dans mon exemple , si on utyilise la norme utf8 pour le fichier xml  ça plante directement. en disant que l'encodage n'est pas bon.
Comme je l'ai dis l'encodage par défaut est a priori ISO-8859-1 par defaut sur PHP5

n°850761
gedeon
Posté le 15-09-2004 à 14:29:09  profilanswer
 

Bon bizarement la solution est la suivante :
 
utf8_decode($nodeList->firstChild->nodeValue);
 
Et là ho magie les accent reviennent !
 
Ce qui veut dire que la représentation interne des objet xml ne tient pas compte de ceci encoding="ISO-8859-1". Enfin pas completement en fait car lors du chargement "DomDocument->load(....)",  si les caractères ne sont pas en accord avec l'attribut encoding ça ne passe pas.
 
Serait-ce une demi implementation du standard ????
 
Si quelqu'un a une reponse je suis preneur mais en tout cas Pb résolu !

n°850896
simogeo
j'ai jamais tué de chats, ...
Posté le 15-09-2004 à 17:25:34  profilanswer
 

non .. en fait si tu déclares un fichier avec un charset en UTF-8 .. Il faut aussi que les données soient enregistrées en UTF-8!
 
Donc checker et/ou modifier les options d'enregistrements de votre éditeur. ET s'il ne le permet pas en changer.


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°851476
gedeon
Posté le 16-09-2004 à 09:34:24  profilanswer
 

Oui on est d'accord sauf dans mon les données déclaré en ISO-8859-1 et ne sont pas enregistré en UTF-8. Donc ma remarque reste valide , pourquoi des données ISO-8859-1 déclaré comme tel et sauvegardées comme tel sont elles traité en UTP-8 ?

n°851942
simogeo
j'ai jamais tué de chats, ...
Posté le 16-09-2004 à 17:32:13  profilanswer
 

gedeon > le problème c'est que tu ne précises pas l'encodage de ta page test.php!
 
ET visiblement par défaut dans ton cas il applique l'utf-8.


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°858851
gedeon
Posté le 28-09-2004 à 10:21:28  profilanswer
 

Ok je vais tester en mettant precisant l'encodage de ma page test.php

mood
Publicité
Posté le 28-09-2004 à 10:21:28  profilanswer
 

n°918709
zapan666
Tout est relatif
Posté le 09-12-2004 à 12:31:56  profilanswer
 

J'ai eux ce problème a l'instant. (Xml + Xslt + Php4)
 
J'ai utilisé la fonction  

Code :
  1. xslt_set_encoding($ht,"ISO-8859-2" );


 
& ça marche nikel chrome
 
http://fr.php.net/manual/fr/functi [...] coding.php
 
(oui, c'est du gros remontage de topic, mais si ça peut aider quelqu'un ...)

n°918940
rufo
Pas me confondre avec Lycos!
Posté le 09-12-2004 à 16:23:40  profilanswer
 

zapan666 a écrit :

J'ai eux ce problème a l'instant. (Xml + Xslt + Php4)
 
J'ai utilisé la fonction  

Code :
  1. xslt_set_encoding($ht,"ISO-8859-2" );


 
& ça marche nikel chrome
 
http://fr.php.net/manual/fr/functi [...] coding.php
 
(oui, c'est du gros remontage de topic, mais si ça peut aider quelqu'un ...)


 
ça c'est pour la lib Sablotron. Lui, il utilise Dom...
 
A essayer : mettre le encoding="ISO-8859-1" dans ton fochier, xml, xsl et en en-tête de ta page html.


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

  Accent et xml

 

Sujets relatifs
probleme avec "osql" et les caracteres avec accentpb accent aigu dans fichier batch
Problème d'accent avec parseur XML en PerlProblème d'accent entre Flash et ASP.NET
[HTML/PHP] petit problème d'accentDelphi 7 et BD : pb d'accent !
[RESOLU][JBDC][MYSQL] un petit pb d'accent?Nom de fichiers avec accent (é=Ú et è=Þ NT4 SP6)
[Mysql] Inserer des donnés avac accent pour etre relu par le webvirer les accent..
Plus de sujets relatifs à : Accent et xml


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