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
J'ai créer une feuille XSLT pour transformer le format, j'ai mis la directive
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?xml version="1.0" encoding="UTF-8"?>
Le fichier est ensuite créé par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <xsl:output method="text" media-type="text/plain" indent="no" standalone="yes" omit-xml-declaration="yes" encoding="ISO-8859-1"/>
Mais le fichier downloadé reste encodé en UTF-8
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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')
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
Partager