IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[XML] Caractères étranges avec xml


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Points : 47
    Points
    47
    Par défaut [XML] 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" ?>

  2. #2
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    Essaie de mettre entre les balises <head></head> de ta page PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <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.
    Smiley de Plomb 2009
    Anciennement FrancoisIT

  3. #3
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Points : 47
    Points
    47
    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 ?

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 319
    Points
    319
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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à

  5. #5
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Points : 47
    Points
    47
    Par défaut caractère bizarre
    Merci à vous tous pour vos réponses et votre disponibilité
    A bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Caractères accentués avec <html:link>
    Par papysam dans le forum Struts 1
    Réponses: 5
    Dernier message: 25/05/2007, 15h18
  2. Affichage caractères asiatique avec composants standard
    Par FransTreb dans le forum Composants VCL
    Réponses: 5
    Dernier message: 05/12/2005, 17h20
  3. Caractères étranges en XML
    Par srvremi dans le forum Débuter
    Réponses: 3
    Dernier message: 05/10/2004, 09h17
  4. [FLASH MX2004 PRO] Problème étrange avec LoadClip...
    Par josemoroide dans le forum Flash
    Réponses: 6
    Dernier message: 04/08/2004, 15h41
  5. traitement des caractères spéciaux avec XSLT
    Par Mirgue dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 19/07/2004, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo