mysql数据库存储微信中带有表情符号的昵称
1.在存储之前用base64对数据进行编码然后存入
base64_encode()
2.从数据库拿出来之前再进行解码
base64_decode()
1.在存储之前用base64对数据进行编码然后存入
base64_encode()
2.从数据库拿出来之前再进行解码
base64_decode()
开发微信过程中,发现拉取用户信息中,如果用户呢称含有表情emoji的符合,是无法用mysql的utf8编码存储的。目前可以使用utf8mb4来存储。虽然能存储,但展示也是一大问题,本人建议最好的解决方案是过滤掉:以下是从网上抄的代码:
/*
*过滤掉微信呢称的emoji表情
*/
public function filterEmoji($str){
$str = preg_replace_callback('/./u',function (array $match) {
return strlen($match[0]) >= 4 ? '' : $match[0];
},$str);
return $str;
}
完结撒花!