不同型号的手机 发送表情会乱码
再不同型号的手机下面 发送表情会乱码 ,这再上个版本不会出现这个问题
这个问题我也发现了。测试情况是: 1、在夜神模拟器上两个不同的系统版本和型号互发没问题; 2、在夜神模拟器从一个7.0系统发送到我的实体三星手机没问题; 3、从夜神模拟器一个5.0系统发到我的三星实体机乱码;
通过后台调试发现乱码的时候无论发送的是什么表情后台接收到的表情编码都是type: 1 searchable_content: "\357\277\275\357\277\275" persist_flag: 3
有极少数几个表情可以正常发送:比如足球、铅笔
跟踪发现所有表情的编码比如Tag="0x1f603"就乱码。Tag="0x263a"就不会,貌似是编码字节长度和系统兼容性问题导致的
或许使用base64来传输能解决问题
表情问题,就在这个issue下讨论。
微信可能是这么做的:
- 只支持输入部分的表情符号。
- 这些表情会和一些有规则的字符串一一对应,如:
[Smile] - 发送表情,实际上是发送有规则的字符串
比如发送微笑的表情,实际输入和发送的是[Smile],但展示会话列表、消息列表展示的时候,解析
微信内部的表情发送后在再复制出来就是图片。我从外部复制一串标准emoji编码的表情文字粘贴到微信聊天发送后再复制出来任然是emoji。确实微信有两套emoji体系,一套内置的,不走同意编码,应该就是你说的规则。一套就是标准的emoji,但是标准emoji在微信中也不是全部支持,会出现口字乱码
目前野火里出现的问题也比较奇特,我初步分析是mars里出的问题,因为在andoid中跟踪到的情况是:我5.0系统发出的时候(调用mars前)确认了编码和其他7.0和9.0都是一致的。一旦经过了mars以后传到服务器就发生了变化(被转换了)。7.0和9.0的互相发送不会发生编码被二次转换的问题
这个问题确实是,Android互相发送表情没问题,但是Android与IOS互相发表情会出现IOS无法显示的情况,现在是小米8.0的发送IOS能正常显示,但是我用坚果5.0的发送IOS无法正常显示。
如果把表情输入超过50个的限制去掉,后续表情继续输入会很卡。
我的小米NTOE PRO android5.1.1 也是发送出去大部分表情会乱码。其他手机接收到一堆乱码,协议栈有解决了吗
有问题 +1
我的小米NTOE PRO android5.1.1 也是发送出去大部分表情会乱码。其他手机接收到一堆乱码,协议栈有解决了吗
这不是协议栈的问题,是不同系统版本,对表情符号支持不同的问题
我的小米NTOE PRO android5.1.1 也是发送出去大部分表情会乱码。其他手机接收到一堆乱码,协议栈有解决了吗
这不是协议栈的问题,是不同系统版本,对表情符号支持不同的问题
但是我们项目其他接口上传或者接收相同的表情数据都是正常显示的,也是用的5.0机型去输入,只有im这里不行 @imndx
你可以看下这个类:MoonUtils,表情是这里面处理的
我的小米NTOE PRO android5.1.1 也是发送出去大部分表情会乱码。其他手机接收到一堆乱码,协议栈有解决了吗
这不是协议栈的问题,是不同系统版本,对表情符号支持不同的问题
你可以看下这个类:MoonUtils,表情是这里面处理的
它是处理显示的,如果把MoonUtils引用都拿掉,自己键盘输入的表情或者demo里表情plugin的原数据传到后台,后台看都是乱码的