Дык я ж говорил как: все промежуточные файлы писать и читать с фильтром :utf8, а результат to_xml писать БЕЗ фильтра.