/ / Unicode znaky z JSON.stringify na skutočné unicode znaky - php, json, utf

Unicode znaky z JSON.stringify na skutočné znaky unicode - php, json, utf

používam JSON.stringify() funkcia na zúženie objektov JS pre odosielanie AJAX do PHP.

Problém nastáva, keď funkcia JSON.stringify kóduje znaky unicode na formátovanie uxxxx (Eg. u000a). Moja otázka znie, ako previesť tieto znaky na bežné znaky unicode v PHP?

odpovede:

4 pre odpoveď č. 1

vidieť Výstup UTF-16? Trochu uviazol

To sa zmení na utf-8:

function unescape_utf16($string) {
/* go for possible surrogate pairs first */
$string = preg_replace_callback(
"/\\u(D[89ab][0-9a-f]{2})\\u(D[c-f][0-9a-f]{2})/i",
function ($matches) {
$d = pack("H*", $matches[1].$matches[2]);
return mb_convert_encoding($d, "utf-8", "UTF-16BE");
}, $string);
/* now the rest */
$string = preg_replace_callback("/\\u([0-9a-f]{4})/i",
function ($matches) {
$d = pack("H*", $matches[1]);
return mb_convert_encoding($d, "utf-8", "UTF-16BE");
}, $string);
return $string;
}