我需要将 ISO-8859-1 文件转换为 utf-8 编码,而不丢失内容信息...
我有一个如下所示的文件:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<HelloEncodingWorld>Üöäüßßß Test!!!</HelloEncodingWorld>
不是我想将其编码为 UTF-8。
我尝试了以下操作:
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)
由于字符串不兼容而不起作用。
然后我读了一些关于 bytestreamreaders/writers/streamingmarkupbuilder 和其他...
然后我尝试了
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
}
这完全不是我想要的..
我只是想用 ISO-8859-1 阅读器读取 xml 的内容,然后将其放入新的(旧的)文件中......为什么这么复杂:-/
结果应该是这样,并且文件应该真正以 utf-8 编码:
<?xml version="1.0" encoding="UTF-8" ?>
<HelloEncodingWorld>Üöäüßßß Test!!!</HelloEncodingWorld>
感谢您的任何答复
干杯