# Wie kann man das ecncoding in einem vorhandenen Document-Objekt ändern?



## bobymiller (3. Sep 2013)

Servus !

Vielleicht kann mir jemand bei folgender Problematik weiter helfen:

Ich übergebe der unteren Methode xmlToString ein Document-Object mit vorhandenen XML-Daten. Jetzt enthält die erste Zeile der XML-Daten die folgende XML Deklaration.

[XML]
<?xml version="1.0" encoding="IBM0114" standalone="no"?>
[/XML]

Ich möchte nun das encoding von encoding="IBM0114" aus encoding="UTF-8" umstellen.
Leider ist mir bisher keine Methode bekannt womit ich das encoding im Document-Objekt ersetzen oder neu setzen könnte. 

Ich erhalte bisher immer folgende Warnung:

*Warning:  The encoding 'IBM0114' is not supported by the Java runtime.*

Leider darf ich die Warnungen auch nicht per Compiler Einstellungen einfach so unterdrücken.  Ich benötige eine Möglichkeit die Sache irgendwie innerhalb der Methode xmlToString zu ändern und das noch bevor die Transformation ausgeführt wird. 


```
public static String xmlToString(Document xml) throws TransformerException {
	
		Transformer transformer = TransformerFactory.newInstance().newTransformer();
		transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
		transformer.setOutputProperty(OutputKeys.METHOD, "xml");
		transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
		transformer.setOutputProperty(OutputKeys.INDENT, "no");
		
		DOMSource dom = new DOMSource(xml);
		Writer out = new StringWriter();
		transformer.transform(dom, new StreamResult(out));
		
		return out.toString();
	}
```

Danke schon einmal für Eure Hilfe.

So long...
boby


----------



## Attila (4. Sep 2013)

vielleicht mit IBM0114*0*, ..., IBM0114*9*


----------



## BuckRogers (12. Sep 2013)

Ich würde mal probieren mit XSLT das encoding in UTF-8 zu ändern bevor das Document in den Java code wandert.


----------

