PHP에서 유니 코드 코드 포인트에서 문자열을 출력합니다.

샘플 코드



이 방법이라면 휴대폰용 이모티콘도 출력 가능
// U+1F37A の場合
$code = '1F37A';
$bin = pack('H*', (str_repeat('0', 8 - strlen($code)) . $code));
// PHP5.4以降の場合は hex2bin() 関数が使用可能
// $bin = hex2bin(str_repeat('0', 8 - strlen($code)) . $code);

$char =  mb_convert_encoding($bin, 'UTF-8', 'UTF-32BE');
var_dump($char);

출력 결과
=> string(4) " "

합성 문자의 경우



합성 문자의 경우 바이너리 문자열을 결합하면 OK
// U+0031 U+20E3 の場合
$code = '0031';
$code2 = '20E3';
$bin = pack('H*', (str_repeat('0', 8 - strlen($code)) . $code));
$bin2 = pack('H*', (str_repeat('0', 8 - strlen($code2)) . $code2));

$char =  mb_convert_encoding($bin . $bin2, 'UTF-8', 'UTF-32BE');
var_dump($char);

출력 결과
=> string(4) " "

참고


  • http://ko.wikipedia.org/wiki/Unicode6.0 휴대폰 이모티콘 목록
  • 좋은 웹페이지 즐겨찾기