2010-04-19 5 views
1

Est-il possible de convertir le caractère de style UTF-16
U+610F
UTF-8 (hex)
E6848F
en utilisant PHP?PHP - UTF-16 en UTF-8 (hex) conversion

caractères UTF-8 est '意'

+0

Unicode ne code pas. Les encours sont UTF-16 (premier cas) et UTF-8. – Andrey

+0

merci, l'a changé – Qiao

Répondre

1

D'après les commentaires dans la page de manuel chr, un hack pour tourner un nombre de caractère ordinal dans une séquence d'octets UTF-8:

function unichr($u) { 
    return mb_convert_encoding('&#' . intval($u) . ';', 'UTF-8', 'HTML-ENTITIES'); 
} 

// unichr(0x610F) -> "\xE6\x84\x8F" 
+0

Je reçois le «意» de utf8, pas «\ xE6 \ x84 \ x8F». Comment avez-vous obtenu "\ xE6 \ x84 \ x8F"? – Qiao

+0

La chaîne d'octets '" \ xE6 \ x84 \ x8F "' (c'est-à-dire l'octet 0xE6, suivi de l'octet 0x84, puis 0x8F), interprétée comme UTF-8, est '意'. Je l'ai mis dans des fuites littérales de chaîne afin que vous puissiez voir ce que vous obtenez vraiment. – bobince

+0

Mais j'ai besoin d'une chaîne '" \ xE6 \ x84 \ x8F "'. Est-ce possible à partir de cette solution? – Qiao

0

php ont encodage unicode et le décodage .. laissez-u essayer sur ce

utf8_decode(); or utf8_encode(); 
+0

essayé, n'ont pas de résultat – Qiao