[XSLT] Conversion d'encodage
Bonjour
Pour échanger mes données avec une autre logiciel il me faut du text/plain avec encodage ISO8859-1
Mes données XML sont extraites de MySQL et sont encodées UTF-8, le début du fichier comporte
Code:
<?xml version="1.0" encoding="UTF-8"?>
J'ai créer une feuille XSLT pour transformer le format, j'ai mis la directive
Code:
1 2 3
|
<xsl:output method="text" media-type="text/plain" indent="no"
standalone="yes" omit-xml-declaration="yes" encoding="ISO-8859-1"/> |
Le fichier est ensuite créé par
Code:
1 2 3 4 5 6 7 8 9 10 11
|
$processor = new XSLTProcessor;
$processor->importStyleSheet(DOMDocument::load('exportXSLTsheet.xsl'));
$dom = $processor->transformToDoc($XMLdata);
header('Content-type: text/plain; charset=iso-8859-1');
header('Content-disposition: attachment; filename=Import_'.$i.'txt');
header('Expires: 0');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
$dom->preserveWhiteSpace = true;
$dom->formatOutput = false;
$dom->save('php://output') |
Mais le fichier downloadé reste encodé en UTF-8
Peut on faire ce type de conversion avec XSLT et alors qu'elle est la bonne pratique pour que la sortie du document soit différente du format d'entré
Merci