json_decode('"\u4eac\u90fd"');
Кредит за использование JSON @bobince https://stackoverflow.com/a/7107750 там, где требуется обратное (от UTF-8 до кодовых точек). Там символы ASCII не будут преобразованы в кодовые точки, , но с json_decode, кодовые точки ASCII будут преобразованы в символы, например, '"\ u0041"' -> 'A'.
(Помните, что вам нужны двойные кавычки внутри вашей строки. Я был сбит с толку, почему json_decode ('\ u4eac \ u90fd'); не давал вывода: -)
Обратите внимание, что для 4-байтовых кодировок UTF-8 будут особые требования, когда кодовая точка состоит из 5 или 6 шестнадцатеричных цифр. JSON не использует фигурные скобки.
echo json_encode('?');
//output: "\ud800\udf48"
? - это U + 10348. Разделение на две части кода для меня не очевидно. Пожалуйста, уточните, имеете ли дело с 4-байтовыми кодировками UTF-8 (например, смайликами).
Это один из тех разочаровывающих примеров, когда должна существовать стандартная целевая функция *, но вместо этого нужно использовать обходной путь и найти много сложных пользовательских функций онлайн.
* Функция существует в PHP7 (http://php.net/manual/en/intlchar.chr.php),, но вам нужно установить расширение intl, которое я не считаю по умолчанию.