Konwertuj znaki Unicode powyżej 127 na dziesiętne [duplikaty]
Możliwy duplikat:
Jak przekonwertować tekst na kod Unicode, taki jak 0054 0068 0069 0073 za pomocą php?
Próbuję przekonwertować wszystkie znaki, które nie mogą zmieścić się w 7-bitowym znaku ANSI, w postaci ucieczki,\uN
, gdzieN
jest jego wartością dziesiętną. Oto, co wymyśliłem:
private static function escape($str) {
return preg_replace_callback('~[\\x{007F}-\\x{FFFF}]~u',function($m){return '\\u'.ord($m[0]);},$str);
}
Próbowałem tego z postaciami takimi jak Gamma,
echo self::escape('Γ');
Ale rozumiem\u206
wycofać się zamiast\u915
. Nie mogę zrozumieć, gdzie się mylę ... pomysły?
Właściwie wydaje się, że alboord()
funkcja nie daje mi wartości lub chcę, a może kodowanie w moim pliku .php jest nieprawidłowe?