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] Quelle est la meilleur technique pour créer un fichier XML? (erreur de caract)


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Points : 93
    Points
    93
    Par défaut [XML] Quelle est la meilleur technique pour créer un fichier XML? (erreur de caract)
    Bonjour à tous,

    Je me met de plus en plus à la génération de fichier xml par php de cette façon.

    generationxml.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    header('Content-Type: text/xml;charset=UTF-8');
    echo(utf8_encode("<?xml version='1.0' encoding='UTF-8' ?>"));
     
    /*MA REQUETE SQL
       ......
    */
     
    echo("<box>");
     
    while($row = mysql_fetch_assoc($requete))
    {
    echo ("<message id='".$row['id']."'><pseudo>".$row['pseudo']."</pseudo><contenu>".$row['message']."</contenu></message>");
    }
     
    echo("</box>");
    Mais je rencontre des problèmes lorsqu'il y a des caractères spéciaux.

    Je ne pense pas du tout utiliser la bonne technique. Il y a des problèmes du coté du charset et de l'encoding.

    Ma question est donc:

    Quelle technique utilisez vous pour générer un document xml valide à coup sûre?


    Merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Hum...
    Si tu fais un utf8_encode pour ton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo(utf8_encode("<?xml version='1.0' encoding='UTF-8' ?>"));
    Pourquoi ne pas faire de même pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ("<message id='".$row['id']."'><pseudo>".$row['pseudo']."</pseudo><contenu>".$row['message']."</contenu></message>");
    Ca serait plus cohérant déjà

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Points : 93
    Points
    93
    Par défaut
    Oui en effet. C'est dans la rédaction dans l'exemple pour le poste que j'ai oublié de le faire mais j'applique également la fonction utf8_encode pour tout.

  4. #4
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Et c'est pas déjà en utf-8 dans la table ?

  5. #5
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Immaintenable. Je vous conseille de lire php.net/xml
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Points : 93
    Points
    93
    Par défaut
    Non, la table n'est pas en utf8.

    Le but de ce topic est de trouver la façon de faire un fichier xml valide sur n'importe quel environnement et partir de n'importe quel format de table.

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/09/2012, 09h19
  2. Réponses: 1
    Dernier message: 14/02/2009, 13h43
  3. Réponses: 3
    Dernier message: 11/06/2008, 16h47
  4. Quelle est la meilleur méthode pour télécharger un fichier ?
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 15/08/2007, 21h36
  5. Quelle est la meilleure solution pour créer des Web Services?
    Par Flipmode dans le forum Services Web
    Réponses: 1
    Dernier message: 26/04/2007, 15h12

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