В этом случае это не используемый вами анализатор XML, см. раздел 2.2 спецификации xml :
Все процессоры XML ДОЛЖНЫ принимать UTF-8 и UTF-16 кодировок Unicode
синтаксические анализаторы Java xml обычно получают входные данные в виде объекта InputSource .Это может быть создано с помощью параметра Reader
, который выполняет декодирование символов для данного набора символов.
InputStream in = ...
InputSource is = new InputSource(new InputStreamReader(in, "utf-16"));
Для "utf-16" charset поток должен начинаться с байтаотметьте порядок, если это не так, используйте "utf-16le" или "utf-16be".