Konvertieren von ISO-8859-1 zu UTF-8 Verwendung von groovy

brauche ich zum konvertieren einer ISO-8859-1 Datei auf utf-8-Codierung, ohne dabei Inhalte intormations...

ich habe eine Datei die wie folgt aussieht:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<HelloEncodingWorld>Üöäüßßß Test!!!</HelloEncodingWorld>

Nicht, ich will encode in UTF-8.
Ich habe versucht, nach:

f=new File('c:/temp/myiso88591.xml').getText('ISO-8859-1')
ts=new String(f.getBytes("UTF-8"), "UTF-8")
g=new File('c:/temp/myutf8.xml').write(ts)

nicht funktioniert wegen String-Inkompatibilitäten.
Dann lese ich etwas über bytestreamreaders/Schriftsteller/streamingmarkupbuilder und andere...

dann habe ich versucht

f=new File('c:/temp/myiso88591.xml').getText('ISO-8859-1')
mb = new groovy.xml.StreamingMarkupBuilder()
mb.encoding = "UTF-8"

new OutputStreamWriter(new FileOutputStream('c:/temp/myutf8.xml'),'utf-8') << mb.bind {
    mkp.xmlDeclaration()
    out << f
}

dies war absolut nicht das, was ich wollte..

Ich will einfach nur, um den Inhalt einer xml Lesen mit ISO-8859-1 Kartenleser und dann legen Sie Sie in eine neue (alte) Datei... warum ist das so kompliziert :-/

Das Ergebnis sollte einfach sein, und die Datei sollte auch wirklich in utf-8 codiert:

<?xml version="1.0" encoding="UTF-8" ?> 
<HelloEncodingWorld>Üöäüßßß Test!!!</HelloEncodingWorld>

Vielen Dank für alle Antworten
Cheers

  • Ich habe es von der ersten Idee über Groovy, aber ich gehe davon aus, dass, wenn Sie geben Sie die Codierung der Datei für File.getText es wird umgestellt werden, dass die Kodierung auf Ihre interne Codierung automatisch. I. e. Sie wahrscheinlich nicht brauchen etwas anderes zu tun, so lange, wie Sie Ihre interne Codierung eingestellt ist UTF-8. Jemand korrigiert mich wenn ich bin off-track hier. Alternativ, was sind die genauen Fehler erhalten Sie?
InformationsquelleAutor Booyeoo | 2011-09-02
Schreibe einen Kommentar