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ď č. 1vidieť 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;
}