解决微信开发,Emoji表情作为用户昵称存储数据问题。

微信开发时候,有些用户使用Emoji表情作为用户昵称,导致数据库保存昵称时候不识别导致昵称为空,现在提出以下解决方案:

/**
  +----------------------------------------------------------
 * 过滤用户昵称里面的特殊字符
  +----------------------------------------------------------
 * @param string    $str   待输出的用户昵称
  +----------------------------------------------------------
 */
function jsonName($str) {
    if($str){
        $tmpStr = json_encode($str);
        $tmpStr2 = preg_replace("#(\\\ud[0-9a-f]{3})#ie","",$tmpStr);
        $return = json_decode($tmpStr2);
        if(!$return){
            return jsonName($return);
        }
    }else{
        $return = '微信用户-'.time();
    }    
    return $return;
}

另外,如果是用mysql 数据库的话,可以用utf8mb4 字符集。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容