Всем привет.
Случилась следующая странная ситуация: Ajax-ом отправляется запрос, в целевом php-файле в цикле прогонялся вывод текста с кириллицей, в определённый момент возникает как будто смена кодировки с utf-8 на win1251 (или что-то похожее). Код вывода:
for ($i=0; $i<100; $i++){
var_dump("ыИжевы");
}
вывод выглядит так: string(12) "ыИжевы" string(12) "ыИжевы" string(12) "ыИжевы" string(12) "ыИжевы" string(12) "ыИжевы" string(12) "ыИжевы" string(12) "ыИже²Ñ" string(12) "ÑÐжевÑ" string(12) "ÑÐжевÑ" string(12) "ÑÐжевÑ" string(12) "ÑÐжевÑ" string(12) "ÑÐжевÑ" string(12) "ÑÐжевÑ" string(12) "ÑÐжевы" string(12) "ыИжевы" string(12) "ыИжевы" string(12) "ыИжевы" string(12) "ыИжевы"
Причём на разных машинах появление бага стабильно, но поведение различно (например но одной возникает если писать ыИжев или как-то сокращать/изменять слово)
Ajax отправляется обычный POST запрос. Проект пустой (всего 2 файла .php). Данная проблема была протестирована на трёх разных машинах (разные сервера) на разных версиях php (5.6, 7.2), Apache/2.4.29(Ubuntu), в заголовках везде был указан utf-8. Из-за чего такое может быть?
UPD (весь код): index.php
$(document).ready(function () {
$.ajax({
type: "POST",
url: "send_mail.php",
success: function () {
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
});
send_mail.php:
header('Content-Type: text/html; charset=UTF-8');
$str = 'ыИжевы';
for ($i=0; $i<100; $i++){
var_dump($str);
};
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть сайт https://oneru/, который сразу редиректится на https://two