Le mercredi 9 Février 2005 09:48, Philippe Pons a écrit :
>
> Je veux maintenant sauvegarder mon arbre DOM dans un fichier.
>
> J'utilise 2 méthodes différentes :
> 1-avec un Tranformer
> j'obtiens un fichier (avec une déclaration XML indiquant un encoding UTF-8)
> dont les accents ne sont pas correct. Pourquoi, mon fichier n'est il pas
> correctement écrit en UTF-8 ?
> Comment faire avec mon Tranformer ?
>
Comment procédez-vous ?
Si je fais :
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import java.io.*;
import org.w3c.dom.*;
public class accents
{
public static void main(String[] args) throws Exception
{
Document doc =
DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
Element racine = doc.createElement("racine");
racine.appendChild(doc.createTextNode("L'été, vous le préférez à Noël ou à
Pâques ?"));
doc.appendChild(racine);
DOMSource domsrc = new DOMSource(doc);
StreamResult fluxDestination = new StreamResult(new File("fichier.xml"));
TransformerFactory fabrique = TransformerFactory.newInstance();
Transformer transformationIdentité = fabrique.newTransformer();
transformationIdentité.transform(domsrc, fluxDestination);
}
}
... j'obtiens, visualisé avec jEdit :
<?xml version="1.0" encoding="UTF-8"?>
<racine>L'été, vous le préférez à Noël ou à Pâques ?</racine>
... aux contingences formatives des caractères prés... si je fais un "cat"
avec le shell j'obtiens :
herve ..systeme> cat /home/herve/fichier.xml
<?xml version="1.0" encoding="UTF-8"?>
<racine>L'été, vous le préférez à Noël ou Ã
Pâques ?</racine>herve ..systeme>
... mais vous conviendrez que c'est la même chose.
Cordialement.
--
SARL diaam informatique - 04 77 25 43 28
Ingenierie, développements de systèmes d'information
http://www.diaam-informatique.com
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Wed Feb 9 11:00:50 2005