Hvordan sætter man encoding ved skrivning af fil i kode
Jeg har en række xml filer med encoding ISO-8859-1.Disse filer læser jeg op med DOM, laver rettelser i træet og skriver dem ned igen med denne nedenstående metode. Filen indeholder danske specialtegn og bruges til sprogstyring.
Problemet er, at når jeg igen læser filen op, så vises alle de danske specialtegn forkert. Hvis jeg kigger i filen med en editor, kan jeg se, at encodingen har ændret sig til UTF-8, men i filen ser alle de danske specialtegn rigtige ud.
Hvordan får jeg løst mit problem, så jeg kan gemme en xml ned med danske specialtegn og læse dem op igen uden at de vises forkert?
Hvis jeg manuelt retter encoding tilbage til ISO-8859-1, kan jeg igen læse filen op uden forkert visning... Jeg tænker, at en løsning er at sætte encoding på filen, når jeg skriver den - men forudsat, at det er vejen frem, hvordan gør jeg det??
private void saveLanguageFile(String xml, Document document){
try{
File file = new File(xml);
file.createNewFile();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new FileOutputStream(file));
transformer.transform(source, result);
result.getOutputStream().flush();
result.getOutputStream().close();
} catch (IOException ioe) {
// TODO
} catch (TransformerConfigurationException e) {
// TODO
} catch (TransformerException e) {
// TODO
}
}
