Pavel Ammosov wrote:
java внутри себя работает в unicode. Когда она общается с внешниммиром, юникодные символы преобразуются в символы текущей локали.
Если быть совсем точным, то в file.encoding system property, которая по умолчанию устанавливается в кодировку локали. Соответственно, можно ее устанавливать с помощью java -Dfile.encoding=UTF-8
Автору исходного поста: раз уж вы пишете в XML-заголовке кодировку UTF-8, то и явно кодируйте поток ей же, используя OutputStreamWriter(OutputStream os, String charset), не надеясь на локаль и прочее окружение.
-- Alexei Grigorovich <grig@shamrock-games.ru> Shamrock Technologies