В Cookies лежит json строка с кодировкой UTF-8. При просмотре cookies через отладчик (F12) кодировка корректна.
При выводе на экран через php - кодировка ломается, но если проверить кодировку этой строки через mb_detect_encoding(), то кодировка UTF-8. В html так же указана кодировка UTF-8.
Скрин с отладчика. (F12)
Скрин вывода (Последняя строка - результат mb_detect_encoding($_COOKIES['suggestions']))
Скрин html
Код, которые это все выводит
var_dump($_COOKIE['suggestion']);
echo '<br>' . mb_detect_encoding($_COOKIE['suggestion']);
Подвопрос - 1:
Идем дальше, при декодировании json меняется кодировка на ASCII, почему?
$organization = json_decode($_COOKIE['suggestion']);
var_dump($organization);
echo '<hr>';
echo mb_detect_encoding($organization);
echo '<hr>';
echo json_last_error_msg();
Вывод
При этом, если я открою этот же файл в другом браузере, например firefox, то результат работы всего скрипта будет:
Странно что таких ошибок в выводе Edge нет.
Почему такое происходит?