Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML
XML Forum d'entraide sur XML avec PHP. Exemples : SimpleXML, OpenXML... Avant de poster -> FAQ XML, Cours XML et Sources XML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/06/2007, 11h00   #1
Futur Membre du Club
 
Inscription : mars 2004
Messages : 97
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 97
Points : 15
Points : 15
Par défaut Caractères étranges avec xml

Bonjour à tous,
je dois récupérer un fichier xml et lorsque je l'importe sur ma page en php.
J'ai des caractères bizzares ( comme le "é" qui est remplacé par "é" le "è" qui est remplacé par "è" etc... la liste est longue. Y-a-t'il une fonction qui me permet de convertir ces caractères bizzares automatiquement
Merci de votre aide car je suis débutant.
Voici l'entête du fichier xml
<?xml version="1.0" encoding="UTF-8" ?>
iomega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 11h05   #2
Membre éclairé
 
Avatar de BornBanane
 
Homme
Ingénieur développement logiciels
Inscription : mars 2007
Messages : 274
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2007
Messages : 274
Points : 350
Points : 350
Essaie de mettre entre les balises <head></head> de ta page PHP
Code :
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
Je suppose que ton problème viens du fait que ton XML est en UTF-8 mais pas ta page PHP, d'où le problème des accents.
BornBanane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 11h27   #3
Futur Membre du Club
 
Inscription : mars 2004
Messages : 97
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 97
Points : 15
Points : 15
Par défaut caractères bizzares

Merci beaucoup de ta réponse
Effectivement cela marche mais par contre les éléments de la page m'indique des caractères bizzares
si je mets ces 2 entetes cela ne marche pas (<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">).

par contre si j'enlève <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> cela marche mais le reste de la page m'indique des carré.
Comment puis-je faire ?
iomega est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 12h33   #4
Membre confirmé
 
Inscription : mai 2006
Messages : 196
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 196
Points : 278
Points : 278
Il faut utiliser les fonction de décodage et d'encodage UTF-8 de PHP, et stipule l'affichage ISO-8859-1 dans les balise META pour un bon affichage des accents.
Soit les deux fonctions suivantes :

Code :
1
2
3
4
<?php
$var = utf8_decode( $xml->nodeValue ); //Pour ressortir les données
$xml->nodeValue = utf8_encode( $var ); //Encodage avant sauvegarde
?>
J'ai déjà beaucoup testé ceci car je l'utilise ^^ et si tu oublie un encodage avant de sauvegarder fait attention tu risque de perdre l'intégralité de ton fichier XML, sauvegarde dans un fichier backup avant la définitive. Pour l'encodage du fichier XML il dépend de son encodage sur le système d'exploitation, si tu ne stipule pas un enregistrement en UTF-8 sur le disque dur, met un ISO-8859-1 en en-tête du fichier XML.
En fait je me demande si PHP n'encode pas automatiquement en UTF-8 lorsque tu extrais les données et pour bien afficher l'UTF-8 sur le navigateur il faut que tu le configure ( AFFICHAGE->Encodage des caractères ) et même les balises META ne changent pas ceci. En bref le mieux est de mettre de l'ISO-8859-1 partout et utilise utf8_decode et utf8_encode. Après si tu utilise vraiment des langages particulier (langue asiatique ou arabe), modifie les affichages pour voir comment tu peut faire pour afficher correctement.
Valà
meliandah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 13h52   #5
Futur Membre du Club
 
Inscription : mars 2004
Messages : 97
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 97
Points : 15
Points : 15
Par défaut caractère bizarre

Merci à vous tous pour vos réponses et votre disponibilité
A bientôt
iomega est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h42.


 
 
 
 
Partenaires

Hébergement Web