Мне нужно преобразовать файл 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
}
это было совсем не то, что я хотел ..
Iпросто хочу получить содержимое XML-чтения с помощью считывателя ISO-8859-1, а затем поместить его в новый (старый) файл ... почему это так сложно: - /
Результат должен простобыть, и файл должен быть действительно закодирован в UTF-8:
<?xml version="1.0" encoding="UTF-8" ?>
<HelloEncodingWorld>Üöäüßßß Test!!!</HelloEncodingWorld>
Спасибо за любые ответы Приветствия