Précédent   Forum du club des développeurs et IT Pro > Autres langages > XML/XSL et SOAP
XML/XSL et SOAP Forum d'entraide sur XML et SOAP. Avant de poster -> FAQ XML, Sources XML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/10/2012, 10h16   #1
fredaster31
Invité régulier
 
Homme
Inscription : octobre 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2012
Messages : 26
Points : 9
Points : 9
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 :
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);
 
?>
fredaster31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2012, 10h37   #2
fredaster31
Invité régulier
 
Homme
Inscription : octobre 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2012
Messages : 26
Points : 9
Points : 9
Par défaut Re

En fait c'était tout bête, suffisais de changer :

Code :
$_xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n";
en

Code :
$_xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\r\n";
Voila
fredaster31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2012, 10h42   #3
thelvin
Modérateur
 
Inscription : septembre 2004
Messages : 7 121
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 7 121
Points : 10 358
Points : 10 358
Envoyer un message via Skype™ à thelvin
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.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
Partagez vos connaissances, mais aussi comment s'en servir.
thelvin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2012, 11h16   #4
fredaster31
Invité régulier
 
Homme
Inscription : octobre 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2012
Messages : 26
Points : 9
Points : 9
Par défaut Re

Merci pour la réponse, par contre pouvez vous m'expliquer plus en détails s'il vous plait ?
fredaster31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2012, 15h38   #5
thelvin
Modérateur
 
Inscription : septembre 2004
Messages : 7 121
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 7 121
Points : 10 358
Points : 10 358
Envoyer un message via Skype™ à thelvin
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.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
Partagez vos connaissances, mais aussi comment s'en servir.
thelvin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2012, 16h01   #6
polymorphisme
Modérateur
 
Avatar de polymorphisme
 
Homme Grégory Roche
Publishing
Inscription : octobre 2009
Messages : 1 424
Détails du profil
Informations personnelles :
Nom : Homme Grégory Roche
Âge : 39
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Publishing

Informations forums :
Inscription : octobre 2009
Messages : 1 424
Points : 2 333
Points : 2 333
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.
polymorphisme est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h41.


 
 
 
 
Partenaires

Hébergement Web