Я думаю, здесь есть несколько возможностей (о которых я могу думать):
1. Тип содержимого установлен неправильно
Хотя ваш XML-документ содержит правильное значение, возможно, заголовок Content-Type
ответов не имеет правильного значения набора символов. Можете ли вы проверить это значение? Он должен содержать что-то вроде:
text/html;charset=utf-8
2. Приложение, которое вы используете для просмотра данных ответов, не поддерживает Unicode
Вы уверены, что данные в ответе неверны? У вас есть редактор или просмотр, который, как вы уверены, поддерживает юникод, который вы можете попробовать? Если приложение, которое вы используете для просмотра данных ответа, не может обработать юникод, оно может показывать вам поля, даже если данные ответа в порядке.
3. Символы не в кодировке UTf-8
Как создается этот XML-контент и как он записывается в ответ? Возможно ли, что заголовок неправильно сообщает содержимое как UTF-8, когда вставляемые символы на самом деле являются какой-то другой кодировкой, например UTF-16?
Другие мысли ...
Вы упоминаете, что ошибки выглядят некорректно при отображении «на странице». Что именно вы подразумеваете под этим? Используется ли этот XML для генерации некоторого HTML-кода на сервере перед его отображением в браузере? Возможно, ваш XML-ответ имеет кодировку UTF-8, но HTML-код содержит неверную информацию кодировки.