I would like to convert Unicode codepoint to character. Here is what I have tried:
$point = dechex(127468); // 1f1ec
echo \"\\u{1f1ec}\"; // this w
You don't need to convert integer to hexadecimal string, instead use IntlChar::chr:
echo IntlChar::chr(127468);
Directly from docs of IntlChar::chr
:
Return Unicode character by code point value
Actually find the solution after several hours:
$unicode = '1F605'; //
A similar problem occurs when you want to get a floating point number, say, 12e-4
, concatenating pieces. The parsing is done too early in the compiler to allow it. You probably can, however, use eval()
to do so. Yuck.