php微信模版消息中发送emoji表情

编码地址:QQ地带Emoji表情代码大全
下面方式请使用 Softbank编码,其他发都不行,另外需要转换格式
举例:U+E04A 转换为 \ue04a

方式一

public function unicode2utf8_2($str){	//关于unicode编码转化的第二个函数,用于显示emoji表情
        $str = '{"result_str":"'.$str.'"}';	//组合成json格式
	$strarray = json_decode($str,true);	//json转换为数组,利用 JSON 对 \uXXXX 的支持来把转义符恢复为 Unicode 字符(by 梁海)
	return $strarray['result_str'];
    }

// 调用方式
$this->unicode2utf8_2("\ue159")."【公交/地铁】";

方式二

$text = "你好 \ue415 hello 123"; //可以为将要发送的微信消息,包含emoji表情unicode字符串,需要转为utf8二进制字符串
$text = preg_replace("#\\\u([0-9a-f]+)#ie","iconv('UCS-2','UTF-8', pack('H4', '\\1'))",$text); //对emoji unicode进行二进制pack并转utf8

echo $text;//你好  hello 123

Wechat编码

Wechat编码只有一部分可以用,直接复制粘贴到代码里面
$text='测试表情☀';

你可能感兴趣的:(PHP)