Когда ваш заголовок Content-Type
объявляет кодировку UTF-8, вы должны отправить содержимое в кодировке UTF-8.
Хотя браузеры иногда "угадывают" или "исправляют"кодирование, вы никогда не должны полагаться на это, так как это очень хрупкая логика, которая часто не работает должным образом.
Если ваш китайский / японский контент был в другой кодировке (например, Shift-JIS), то выпридется преобразовать текст с библиотекой, например iconv
.
В качестве альтернативы вы можете объявить эту другую кодировку в заголовке, но учтите, что вы можете использовать только одну кодировку для всего тела ответа.Преобразование всего в UTF-8 обычно является лучшим решением.