小程序
小游戏
企业微信
微信支付
扫描小程序码分享
nickName是个表情获取之后乱码 服务器端没有办法验证签名 请官方给个解答
3 个回答
我也遇到这个问题了,不知道微信那里是怎么计算出签名的
内容中可能包含密钥、AppSecret等私密参数,泄漏会有安全风险,请检查内容并确认。
解决方案,我是用了替换
代码如下:
$nikeNameOrign=$_GET['nick_name'];
$nickname = preg_replace("/[^\x{4e00}-\x{9fa5}0-9a-zA-Z]/iu",'',$nikeNameOrign);
唯一的问题:如果昵称全部是表情,那就没有昵称了
编码问题,后台拿到后。直接改下编码就行了。
String name = new String(nickName.getBytes("ISO-8859-1"),"UTF-8");
好的 谢谢 到时候我测试下
PHP里面怎么转码?
改了数据库、表、字段均为utf8mb4,并没有解决问题,最后只好用了替换。希望有高手能有更好的方法
服务端用UrlEncode(nickname) 存到数据库 小程序端调用先在服务端UrlDecode (nickname) 一下就可以了
我也遇到这个问题了,不知道微信那里是怎么计算出签名的
解决方案,我是用了替换
代码如下:
$nikeNameOrign=$_GET['nick_name'];
$nickname = preg_replace("/[^\x{4e00}-\x{9fa5}0-9a-zA-Z]/iu",'',$nikeNameOrign);
唯一的问题:如果昵称全部是表情,那就没有昵称了
编码问题,后台拿到后。直接改下编码就行了。
String name = new String(nickName.getBytes("ISO-8859-1"),"UTF-8");
好的 谢谢 到时候我测试下
PHP里面怎么转码?
改了数据库、表、字段均为utf8mb4,并没有解决问题,最后只好用了替换。希望有高手能有更好的方法
服务端用UrlEncode(nickname) 存到数据库 小程序端调用先在服务端UrlDecode (nickname) 一下就可以了