Convertir caracteres Unicode por encima de 127 a decimal [duplicado]
Posible duplicado:
¿Cómo convertir texto a un punto de código Unicode como \ u0054 \ u0068 \ u0069 \ u0073 usando php?
Estoy tratando de convertir todos los caracteres que no pueden caber en un carácter ANSI de 7 bits en una forma de escape,\uN
, dóndeN
es su valor decimal. Esto es lo que he encontrado:
private static function escape($str) {
return preg_replace_callback('~[\\x{007F}-\\x{FFFF}]~u',function($m){return '\\u'.ord($m[0]);},$str);
}
Lo he probado con personajes como Gamma,
echo self::escape('Γ');
Pero me sale\u206
retroceder en lugar de\u915
. No puedo entender a dónde me voy mal ... ¿ideas?
En realidad, parece que ya sea elord()
¿La función no me da el valor o deseo, o tal vez la codificación en mi archivo .php es incorrecta?