2248关注6862浏览
授权使用post,“application/x-www-form-urlencoded;“, 传数据 后台获取到的昵称,部分正常,部分乱码,找不出来解决办法,部分用户昵称会出现“”这个字符(大部分情况集中在vivo,oppo,mi手机上)
服务器打印出来有问题的字符串, 例如,其中“%EE%90%99”是客户端发送过来的encodeURIComponent(用户昵称)
我选择复制 这个到微信小程序pc客户端,能正常显示“????”,也就是微信小程序pc客户端能将“EE 90 99”解析成“????”,但是这个utf-8编码的emoji实际是“f0 9f 91 80”,
所以为什么原本encodeURIComponent(????) == “%f0%9f%91%80”, 而客户端传回的是“%EE%90%99”, 是否微信小程序客户端默认做了一套emoji编码集,来处理一些兼容情况,如果是的话,能否把这个告知开发者
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
Sierra
20人对此回答表示赞同
不要直接使用post过来的用户信息,请使用rawData进行解密,然后做存储,这样就不会出现头像中的emoji表情被编码的问题了,而且从安全角度来说,也不建议直接使用post中的用户信息字段,因为这种用户信息可能会被伪造
展开201回复分享发布于 5年前评论(1)
收起评论
-
木森林
19人对此回答表示赞同
目前Android小程序上确实是只显示Android支持的Emoji,微信小程序表情只显示字符
展开194回复分享发布于 5年前评论(4)
收起评论
-
相亲相爱 2019-03-17 13:04
正则判断的意思是过滤掉?有些用户就一个表情,过滤就没了。
回复 -
方旭 2019-03-19 09:20
“%EE%90%99”对应的“????”是有相应的utf-8编码的“%f0%9f%91%80”,如果给我所有微信小程序特殊emoji编码和标准emoji编码映射表的话,我统一转化为utf-8标准的编码,这样的话,应该没问题的。
回复 -
暗恋未遂 2019-03-21 12:46
建议使用正则判断,然后做一下处理
回复 -
刀豆三郎 2019-03-23 13:53
那我应该如何处理这个情况呢?比如,用户a(android)给用户b(微信小程序IOS)评论,但是用户b看到用户a的昵称就会是不正常的字符串啊。
回复
-
-
Aubrey
18人对此回答表示赞同
占位
展开180回复分享发布于 5年前评论(0)
收起评论
-
harryhurryup
7人对此回答表示赞同
数据表存储emoji用utf8mb4比较合适,“application/x-www-form-urlencoded;“不行就换multipart/form-data试试
展开71回复分享发布于 5年前评论(1)
收起评论
-
Lincoln 2019-03-15 17:13
utf8mb4我设置了的,部分机型emoji编码有问题,用的不是标准编码
回复
-
-
吴晴
6人对此回答表示赞同
马克
展开60回复分享发布于 5年前评论(0)
收起评论
-
野鹤
5人对此回答表示赞同
自己顶
展开51回复分享发布于 5年前评论(1)
收起评论
-
花朵之蓝 2019-03-19 18:07
{
回复
-
是解密rawData处理的。emoji乱码是另外的问题,我目前是替换处理。