因爲有些微信用戶的暱稱是帶表情符號的,受權存用戶暱稱的時候因爲數據庫類型問題存不進去,改了數據庫類型也不行,因此就找了一些過濾方法, 親測有效:數據庫
註冊接口json
public function register(Request $request){微信
$avatar = $request->input("userimage");this
$nickname_new = $request->input("username");code
$weixin_openid = $request->input("openid");接口
$nickname = $this->filter($nickname_new);//過濾後的用戶暱稱 以後直接判斷用戶是否受權而後儲存數據庫就行input
}io
過濾接口function
/**request
* $str 微信暱稱
**/
public function filter($str) {
if($str){
$name = $str;
$name = preg_replace('/\xEE[\x80-\xBF][\x80-\xBF]|\xEF[\x81-\x83][\x80-\xBF]/', '', $name);
$name = preg_replace('/xE0[x80-x9F][x80-xBF]‘.‘|xED[xA0-xBF][x80-xBF]/S','?', $name);
$return = json_decode(preg_replace("#(\\\ud[0-9a-f]{3})#","",json_encode($name)));
}else{
$return = '';
}
return $return;
}
而後問題就解決了。