J'ai un fichier XML (voir ci-dessous). J'essaye simplement de le lire et d'afficher la valeur des tags trouvés.
Mon problème est que lorsque j'affiche les valeurs des tags et/ou attributs, les caractères accentués ne s'affichent que très mal.
Voilà le fichier XML : newstest.xml
Code : Tout sélectionner
<?xml version="1.0" encoding="iso-8859-15" ?>
<LatestNews>
<News date="2006-04-02" time="15:30" title="Nouveautés Mars 2006" active="yes" id="GUID_46f47b72-759a-4cba-8263-e79849a0c9cb" author="Pat Boens" >
Les nouvelles acquisitions de mars 2006 sont disponibles sur le site.
Parcourez-en dès à présent la liste ...
</News>
<!-- ******************************* -->
<News date="2006-02-19" time="20:00" title="Nouveau look" active="yes" id="GUID_5e333af3-f5bb-4365-8791-d6aa639176a7" author="Pat Boens" >
Le site a fait peau neuve. Il est préparé pour qu'il puisse
faire montre d'interactivité dans un futur proche ...
</News>
<!-- ******************************* -->
</LatestNews><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Test XML</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
</head>
<body>
<?php
$doc = DOMDocument::load('newstest.xml'); /* Load XML file */
/* Let's first read all the news that are already in the XML file */
if ( $doc )
{
$news = $doc->getElementsByTagName( "News" ); /* Read News */
foreach( $news as $theNews )
{
$szDate = $theNews->getAttribute('date');
$szTime = $theNews->getAttribute('time');
$szTitle = $theNews->getAttribute('title');
$szID = $theNews->getAttribute('id');
$szActive = $theNews->getAttribute('active');
$szAuthor = $theNews->getAttribute('author');
echo "<h2>Nouvelle - $szDate à $szTime - $szTitle</h2>";
echo "<p>ID: $szID</p>";
echo "<p>$theNews->nodeValue</p>";
echo "<p>par $szAuthor</p>";
}
}
else
{
echo "Cannot read XML file";
}
?>
</body></html>
... et voilà le rsultat que j'obtiens (en rouge les problèmes) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Test XML</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
</head>
<body>
<h2>Nouvelle - 2006-04-02 à 15:30 - Nouveautés Mars 2006</h2><p>ID: GUID_46f47b72-759a-4cba-8263-e79849a0c9cb</p><p>
Les nouvelles acquisitions de mars 2006 sont disponibles sur le site.
Parcourez-en dès à présent la liste ...
</p><p>par Pat Boens</p><h2>Nouvelle - 2006-02-19 à 20:00 - Nouveau look</h2><p>ID: GUID_5e333af3-f5bb-4365-8791-d6aa639176a7</p><p>
Le site a fait peau neuve. Il est préparé pour qu'il puisse
faire montre d'interactivité dans un futur proche ...
</p><p>par Pat Boens</p>
</body>
</html>
Quelqu'un pourrait-il me dire ce qu'il faut faire pour obtenir de simples caractères accentués ?
Merci beaucoup.