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








Répondre avec citation


Partager