J'ai un problème, actuellement, avec un programme (code précisé ci-dessous) qui me permet:
(1) de récupérer une variable passée par url (via $_GET)
(2) d'afficher cette variable (pour vérifier que l'accentuation est bien reçue)
(3) d'intégrer cette variable à une base XML/XSL (pour afficher la partie du fichier XML correspondant à la variable précisée)
Si la variable rentrée n'a pas d'accentuation; par exemple:
-> Ca fonctionne -> Voilà ce qui s'affiche:
Par contre, si cette variable est accentuée; par exemple:Variable "auteur" : Dess
Début
* Etes-vous heureux ? - Certainement ! - Assurément ! - Ca c'est sûr !
* Tout le temps ? - Euh ! - Ben ! - Ca dépend !
End
-> Voilà ce qui s'affiche:
A noter que si je retire les parties (2) et (3) du programme, pour ne plus garder que:Variable "auteur" : ?liane
Début
End
<?php
$auteur=$_GET['auteur'];
echo 'Variable "auteur" : '.$auteur;
?>
Là, l'accentuation n'est pas altérée -> Ca s'affiche:
Mais là, évidemment, mon programme n'a plus d'intérêt !Variable "auteur" : éliane
-> Là je ne vois que 2 solutions possibles, pour en sortir:
1 - Comprendre pourquoi le code php que j'utilise cause ce problème d'accentuation, pour y remédier
2 - Parser mon ensemble XML/XSL d'une autre façon (parseur en php ou... en javascript, si besoin)
-> Pour toute suggestion que vous pourriez avoir à ce propos, par avance un immense Merci !
***********************
Code PHP utilisé:
<?php
$auteur=$_GET['auteur'];
echo 'Variable "auteur" : '.$auteur;
$xsl = new DOMDocument;
$xsl->load('XSL.xsl');
$xml = new DOMDocument;
$xml->load('XML.xml');
// Configure le transformateur
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl);
$proc->setParameter(null, 'auteur_choisi', $auteur);
echo $proc->transformToXML($xml);
?>
Code XML utilisé:
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<enregistrements>
<audios>
<enseignements>
<auteur nom="Dess">
<album titre="Un sens à sa vie !">
<largeur>462</largeur>
<regroupement sous_titre="Etes-vous heureux ?">
<ligne>Certainement !</ligne>
<ligne>Assurément !</ligne>
<ligne>Ca c'est sûr !</ligne>
</regroupement>
<regroupement sous_titre="Tout le temps ?">
<ligne>Euh !</ligne>
<ligne>Ben !</ligne>
<ligne>Ca dépend !</ligne>
</regroupement>
</album>
</auteur>
<auteur nom="éliane">
<album titre="Vive la vie !">
<largeur>500</largeur>
<regroupement sous_titre="One">
<ligne>A</ligne>
<ligne>B</ligne>
<ligne>C</ligne>
</regroupement>
<regroupement sous_titre="Two">
<ligne>A2</ligne>
<ligne>B2</ligne>
<ligne>C2</ligne>
</regroupement>
</album>
</auteur>
</enseignements>
</audios>
</enregistrements>Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"
encoding="utf-8"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Audio</title>
</head>
<body bgcolor="#FFFFFF">
<p>Début
</p>
<xsl:apply-templates select="enregistrements/audios/enseignements/auteur[@nom=$auteur_choisi]/album[1]/regroupement" />
<p>End
</p>
</body>
</html>
</xsl:template>
<xsl:template match="regroupement">
<p>
<xsl:apply-templates select="@sous_titre"/>
<xsl:apply-templates select="ligne"/>
</p>
</xsl:template>
<xsl:template match="@sous_titre">
* <xsl:value-of select="."/>
</xsl:template>
<xsl:template match="ligne">
- <xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>