Даже если тема вопроса кажется сложной, проблема довольно проста.
Я создаю XML-файл со следующим сценарием:
def xmlFile = new File("file-${System.currentTimeMillis()}.xml")
mb = new groovy.xml.StreamingMarkupBuilder()
mb.encoding = "UTF-8"
new FileWriter(xmlFile) << mb.bind {
mkp.xmlDeclaration()
out << "\n"
someMarkup {}
}
Затем, когда я анализирую этот файл, используя код вроде:
def xml = new XmlSlurper().parse(xmlFile)
Я получил следующее MalformedByteSequenceException
исключение:
Исключение: неверный байт 2 из
3-байтовая последовательность UTF-8
И если я конвертирую файл в формате UTF-8 (например, с помощью Notepad ++), тогда все в порядке.
Итак, что я могу сделать, чтобы сохранить мой файл в формате UTF-8? Почему код mb.encoding = "UTF-8"
не делает этого?
Thx