Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

不同型号的手机 发送表情会乱码 #93

Open
shenguanjun opened this issue Jul 23, 2019 · 16 comments
Open

不同型号的手机 发送表情会乱码 #93

shenguanjun opened this issue Jul 23, 2019 · 16 comments
Labels
bug Something isn't working

Comments

@shenguanjun
Copy link

再不同型号的手机下面 发送表情会乱码 ,这再上个版本不会出现这个问题

@pullwindyuan
Copy link

这个问题我也发现了。测试情况是:
1、在夜神模拟器上两个不同的系统版本和型号互发没问题;
2、在夜神模拟器从一个7.0系统发送到我的实体三星手机没问题;
3、从夜神模拟器一个5.0系统发到我的三星实体机乱码;

@pullwindyuan
Copy link

通过后台调试发现乱码的时候无论发送的是什么表情后台接收到的表情编码都是type: 1
searchable_content: "\357\277\275\357\277\275"
persist_flag: 3

@pullwindyuan
Copy link

有极少数几个表情可以正常发送:比如足球、铅笔

@pullwindyuan
Copy link

跟踪发现所有表情的编码比如Tag="0x1f603"就乱码。Tag="0x263a"就不会,貌似是编码字节长度和系统兼容性问题导致的

@imndx imndx added the bug Something isn't working label Jul 23, 2019
@pullwindyuan
Copy link

或许使用base64来传输能解决问题

@imndx
Copy link
Contributor

imndx commented Aug 6, 2019

表情问题,就在这个issue下讨论。

微信可能是这么做的:

  1. 只支持输入部分的表情符号。
  2. 这些表情会和一些有规则的字符串一一对应,如:[Smile]
  3. 发送表情,实际上是发送有规则的字符串

比如发送微笑的表情,实际输入和发送的是[Smile],但展示会话列表、消息列表展示的时候,解析

@pullwindyuan
Copy link

微信内部的表情发送后在再复制出来就是图片。我从外部复制一串标准emoji编码的表情文字粘贴到微信聊天发送后再复制出来任然是emoji。确实微信有两套emoji体系,一套内置的,不走同意编码,应该就是你说的规则。一套就是标准的emoji,但是标准emoji在微信中也不是全部支持,会出现口字乱码

@pullwindyuan
Copy link

目前野火里出现的问题也比较奇特,我初步分析是mars里出的问题,因为在andoid中跟踪到的情况是:我5.0系统发出的时候(调用mars前)确认了编码和其他7.0和9.0都是一致的。一旦经过了mars以后传到服务器就发生了变化(被转换了)。7.0和9.0的互相发送不会发生编码被二次转换的问题

@zhaozeyx
Copy link

这个问题确实是,Android互相发送表情没问题,但是Android与IOS互相发表情会出现IOS无法显示的情况,现在是小米8.0的发送IOS能正常显示,但是我用坚果5.0的发送IOS无法正常显示。

@gnmmdk
Copy link

gnmmdk commented Jun 29, 2020

如果把表情输入超过50个的限制去掉,后续表情继续输入会很卡。

@511430890
Copy link

我的小米NTOE PRO android5.1.1 也是发送出去大部分表情会乱码。其他手机接收到一堆乱码,协议栈有解决了吗

@xuwab
Copy link

xuwab commented Jul 29, 2021

有问题 +1

@imndx
Copy link
Contributor

imndx commented Jul 29, 2021

我的小米NTOE PRO android5.1.1 也是发送出去大部分表情会乱码。其他手机接收到一堆乱码,协议栈有解决了吗

这不是协议栈的问题,是不同系统版本,对表情符号支持不同的问题

@xuwab
Copy link

xuwab commented Jul 30, 2021

我的小米NTOE PRO android5.1.1 也是发送出去大部分表情会乱码。其他手机接收到一堆乱码,协议栈有解决了吗

这不是协议栈的问题,是不同系统版本,对表情符号支持不同的问题

但是我们项目其他接口上传或者接收相同的表情数据都是正常显示的,也是用的5.0机型去输入,只有im这里不行 @imndx

@imndx
Copy link
Contributor

imndx commented Jul 30, 2021

你可以看下这个类:MoonUtils,表情是这里面处理的

@xuwab
Copy link

xuwab commented Jul 30, 2021

我的小米NTOE PRO android5.1.1 也是发送出去大部分表情会乱码。其他手机接收到一堆乱码,协议栈有解决了吗

这不是协议栈的问题,是不同系统版本,对表情符号支持不同的问题

你可以看下这个类:MoonUtils,表情是这里面处理的

它是处理显示的,如果把MoonUtils引用都拿掉,自己键盘输入的表情或者demo里表情plugin的原数据传到后台,后台看都是乱码的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

7 participants