我在做微信开发时碰到 emoji 表情无法正常显示的问题。引用了一个 pepibumur/emojize 库,提供了 unicode  和 emoji 表情单词和图片的匹配。我的思路是使用正则匹配出 emoji 表情并替换成表情单词,例如笑脸替换为 :smile:但我在替换我过程中,找不到将 4 字符转换为 unicode 编码的方法,如将字符串 \xF0\x9F\x90\xB6 替换为字符串 U+1F436编码对应关系表可参照:http://apps.timwhitlock.info/emoji/tables/unicode#block-4-enclosed-characters

解决方案 »

  1.   

    把数据库的字符集改一下,用utf8mb4
      

  2.   

    php: bin2hex(mb_convert_encoding(hex2bin('F09F90B6'),'UCS-4','UTF-8'))=='0001F436'
      

  3.   

    如果想在数据库中存储 emoji 表情,字符集使用 utf8mb4 就好了。
      

  4.   

    如果不想改,那使用 UrlEncoder.encode 方法编码也可以解决。
      

  5.   

    大哥将字符串 \xF0\x9F\x90\xB6 替换为字符串 U+1F436这个解决没有啊,在线等挺急的!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!