Platon Platon - 2 months ago 4
PHP Question

How to convert Emoji from Unicode in PHP?

I use this table of Emoji and try this code:

<?php print json_decode('"\u2600"'); // This convert to ☀ (black sun with rays) ?>


If I try to convert this \u1F600 (grinning face) through
json_decode
, I see this symbol —
ὠ0
.

Whats wrong? How to get right Emoji?

Answer

PHP 5

JSON's \u can only handle one UTF-16 code unit at a time, so you need to write the surrogate pair instead. For U+1F600 this is \uD83D\uDE00, which works:

echo json_decode('"\uD83D\uDE00"');
Comments