То, как декодировать Управляющих последовательность Unicode как “\\u00ed” к надлежащему UTF-8, закодировало символы?

Есть ли функция в PHP, который может декодировать Управляющих последовательность Unicode как"\u00ed"к"í"и все другие подобные случаи?

Я нашел подобный вопрос здесь, но, кажется, не работает.

88
задан Community 23 May 2017 в 12:02
поделиться

1 ответ

Попробуйте следующее:

$str = preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}, $str);

Если это стиль C / C ++ / Java / Json на основе UTF-16:

$str = preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UTF-16BE');
}, $str);
157
ответ дан 24 November 2019 в 07:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: