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

XML/XSL et SOAP Discussion :

problème Caractères spéciaux


Sujet :

XML/XSL et SOAP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 26
    Points : 22
    Points
    22
    Par défaut problème Caractères spéciaux
    Bonjour, j'essai actuellement de récupéré des données de ma bdd en passant par un fichier php qui me créé un fichier xml pour ensuite le récupéré en Java.

    Mon problème est que parfois dans ma bdd j'ai soit des caractères du genre &eacute; ou soit des balises <b> par exemple.

    Du coup un fois mon fichier xml généré, il me créé une erreur a cause de ces caractères la.

    j'ai essayé avec htmlspecialchars() mais ça ne change rien ><

    Que puis je faire ? ( soyez indulgent je débute )

    Cordialement.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <?php
    include("connect.php");
     
    $link = mysql_connect($db_host, $db_user, $db_pass) or mysql_error();
    $conn = mysql_select_db($db_name);
     
    mysql_select_db($conn, $link);
     
    //OuvertureCréation du fichier test.xml dans le dossier courant
    //w : Ouvre en écriture seule : place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
    
    $file = fopen("test.xml", "w");
    
    $_xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n";
     
    //Dans cette 1ere ligne, définissant notre XML, 
    //on découvre le 1er élément important: '\r\n'.
    //\r\n signale un retour chariot, puis une nouvelle ligne. 
    //Vestige d'une histoire passée.
    //Cela nous permet de sauter une ligne dans notre nouveau fichier.
     
    //Le XML est défini, il ne reste plus qu'a le remplir :
    //Je reprend le même exemple que précédemment
     
    $sql = mysql_query('SELECT * FROM products');
     
    $_xml .= "<cigway>\r\n";
    //Le '.' devant le '=' est important, 
    //on ajoute du contenu à celui déjà présent dans la variable.
    while($row = mysql_fetch_array($sql, MYSQL_ASSOC)){
         $_xml .="<products>\r\n";
         $_xml .="<id_product>". htmlspecialchars($row["id_product"])."</id_product>\r\n";
         $_xml .="<cat>". htmlspecialchars($row["cat"])."</cat>\r\n";
    	 $_xml .="<code>". htmlspecialchars($row["code"])."</code>\r\n";
    	 $_xml .="<concentration>". htmlspecialchars($row["concentration"])."</concentration>\r\n";
    	 $_xml .="<gout>". htmlspecialchars($row["gout"])."</gout>\r\n";
    	 $_xml .="<couleur>". htmlspecialchars($row["couleur"])."</couleur>\r\n";
    	 $_xml .="<title_fr>". htmlspecialchars($row["title_fr"])."</title_fr>\r\n";
    	 $_xml .="<title_fr_cart>". htmlspecialchars($row["title_fr_cart"])."</title_fr_cart>\r\n";
    	 $_xml .="<cara_fr>". htmlspecialchars($row["cara_fr"])."</cara_fr>\r\n";
    	 $_xml .="<cara_fr_product>". htmlspecialchars($row["cara_fr_product"])."</cara_fr_product>\r\n";
    	 $_xml .="<price>". htmlspecialchars($row["price"])."</price>\r\n";
    	 $_xml .="<discount>". htmlspecialchars($row["discount"])."</discount>\r\n";
    	 $_xml .="<price_promo>". htmlspecialchars($row["price_promo"])."</price_promo>\r\n";
    	 $_xml .="<port>". htmlspecialchars($row["port"])."</port>\r\n";
    	 $_xml .="<homepage>". htmlspecialchars($row["homepage"])."</homepage>\r\n";
    	 $_xml .="<defaultpic>". htmlspecialchars($row["defaultpic"])."</defaultpic>\r\n";
    	 $_xml .="<created>". htmlspecialchars($row["created"])."</created>\r\n";
    	 $_xml .="<distributeur>". htmlspecialchars($row["distributeur"])."</distributeur>\r\n";
    	 $_xml .="<stock>". htmlspecialchars($row["stock"])."</stock>\r\n";
    	 $_xml .="<ref_logistique>". htmlspecialchars($row["ref_logistique"])."</ref_logistique>\r\n";
    	 $_xml .="<volume_logistique>". htmlspecialchars($row["volume_logistique"])."</volume_logistique>\r\n";
    	 $_xml .="<sell_admin>". htmlspecialchars($row["sell_admin"])."</sell_admin>\r\n";
    	 $_xml .="<ref_facturation>". htmlspecialchars($row["ref_facturation"])."</ref_facturation>\r\n";
    	 $_xml .="<alt_img_product>". htmlspecialchars($row["alt_img_product"])."</alt_img_product>\r\n";
    	 $_xml .="<url_rw>". htmlspecialchars($row["url_rw"])."</url_rw>\r\n";
    	 $_xml .="<ean>". htmlspecialchars($row["ean"])."</ean>\r\n";
     
     
         $_xml .= "</products>\r\n";
    }
     
    $_xml .= "</cigway>\r\n";
     
    //Pour faire simple : Là ou nous mettions 'echo', 
    //il suffit de mettre $_xml .= "... \r\n"
     
    //fwrite(); se définit avec deux paramètres :
    //1. Le fichier où l'on écrit
    //2. Le contenu a écrire
     
    fwrite($file, $_xml);
     
    //on ferme le fichier
    fclose($file);
     
    ?>

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 26
    Points : 22
    Points
    22
    Par défaut Re
    En fait c'était tout bête, suffisais de changer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n";
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\r\n";
    Voila

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Euh, alors déjà ça a rien à voir avec les problèmes évoqués (&eacute; et <b>.)

    Ensuite, ce serait tout de même plus malin de faire gérer ça par DOMDocument, quand même.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 26
    Points : 22
    Points
    22
    Par défaut Re
    Merci pour la réponse, par contre pouvez vous m'expliquer plus en détails s'il vous plait ?

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ben pas trop, PHP c'est pas mon rayon. Mais bon, Google, PHP, "créer un document XML" ça devrait faire l'affaire je pense.

    Ce que moi je voulais dire, c'est qu'on écrit jamais un document XML soi-même, et on n'échappe jamais rien soi-même pour le faire. Il y a des outils pour ça, c'est leur boulot.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    Bonjour,

    il faut que tu cherche dans les librairies du PHP, il y a tout ce qu'il te faut.
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

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

Discussions similaires

  1. Problème caractères spéciaux...
    Par the_edge dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2006, 09h49
  2. [MySQL] problème caractères spéciaux
    Par unmulot dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 30/06/2006, 10h50
  3. problèmes caractères spéciaux
    Par khokho dans le forum Installation
    Réponses: 1
    Dernier message: 29/04/2006, 17h15
  4. [MySQL]Problèmes caractères spéciaux
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/03/2006, 08h47
  5. Problème caractères spéciaux
    Par TeKaBloK dans le forum C
    Réponses: 2
    Dernier message: 26/12/2005, 13h40

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