2010-08-17 7 views
0

Dites que j'ai une paire de substitution. Par exemple:Paires de substitution Unicode

\u306f\u30fc 

Existe-t-il une fonction que je peux utiliser pour imprimer le caractère à l'écran?

+0

C'est pas une paire de substitution. Voir http://www.ssec.wisc.edu/~tomw/java/unicode.html – Artefacto

Répondre

2

Si vous voulez le faire manuellement:

echo chr(0x30) . chr(0x6f) . chr(0x30) . chr(0xfc); 

Si vous avez la chaîne, vous pouvez toujours faire:

$callback = function($match) { 
    return chr(hexdec($match[1])) . chr(hexdec($match[2])); 
} 
preg_replace_callback('#\\\\u([0-9a-f]{2})([0-9a-f]{2})#', $callback, $string); 

Ou, si php < 5,3

$callback = create_function('$match', 
    'return chr(hexdec($match[1])) . chr(hexdec($match[2]));' 
); 
preg_replace_callback('#\\\\u([0-9a-f]{2})([0-9a-f]{2})#', $callback, $string); 
+0

Non, je n'ai pas la chaîne. Si je voulais poster quelque chose comme ça sur Twitter ou Facebook en utilisant leur API, comment pourrais-je le convertir en un personnage qui peut être posté? –

+0

J'ai d'abord décliné mais ensuite j'ai réalisé que c'est une interprétation possible de la question de l'OP, qu'il veut une chaîne encodée en UTF-16. Généralement, ces séquences d'échappement apparaissent au milieu du texte ASCII, et il est un peu plus compliqué de les supprimer. Voir http://stackoverflow.com/questions/3506988/output-utf-16-a-little-stuck/3508040#3508040 – Artefacto