Как правильно выбрать кодировку для json_encode, чтобы JSON_UNESCAPED_UNICODE не был необходим

Я действительно новичок в работе с форматом JSON. Я многому учусь — и я застрял в UNICODE. У меня есть строка $str='Läuse';

если я посмотрю, какая кодировка эта строка я использую echo mb_detect_encoding($str);
результат UTF-8. Теперь я создаю массив и снова обнаруживаю, что кодировка UTF-8

 $json_array = [
'test' => $str
];
echo mb_detect_encoding($json_array['test']);

Когда я повторяю массив с json_encode, он приходит к {"test":"L\u00e4use"} вместо {"test":"Läuse"}

После поиска и прочтения о php и unicode я все больше путаюсь.
Я узнал, что JSON_UNESCAPED_UNICODE будет выводить мой код json_enco, как я хочу.

У меня вопрос, я делаю что-то неправильно, что я должен использовать JSON_UNESCAPED_UNICODE? Я использую неправильную кодировку?

Надеюсь, вы можете помочь мне с этим

0

Решение

PHP по умолчанию выводит JSON, совместимый с ASCII, который вряд ли будет искажен ошибками кодирования (хотя это происходит за счет читабельности и некоторых байтов).

Вы не делаете ничего плохого. JSON_UNESCAPED_UNICODE просто выключен по умолчанию.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector