-
-
Notifications
You must be signed in to change notification settings - Fork 305
有关消息编码 #42
Comments
ps 跟清真无关,只是有人没事闲的拿这种字符做昵称 |
目前我这个插件确实是对这种特殊字符处理不了,这是之前就遗留的问题,不过你这么一说我突然想到问题了,刚刚试了下改了代码,在 Windows 下直接用 GB18030 编码就行,之前用的是 ANSI,不过因为还要考虑到 Wine 之类的情况,等我后面有空再看一下 |
好了我已经改好了。。下个版本发 |
哇神速,感谢感谢! |
发布了 v3.3.2,可以更新了 |
沃日等一下,Windows Server 2012 上面似乎还是不行,容我再测测 |
可怕( |
先这样吧,感觉 Win Server 这个问题会是个坑( |
那我测试下 docker |
docker 不行的,wine 里面好像直接就没有 gb18030 编码,只能 gb2312 |
我开发是在 win10 上首先测的,按理说 win server 怎么也应该跟 win10 一样的呀,难道说 win10 之前的版本本身也就不行 |
确认 wine 上是不行的。。。 它好像压根没处理,直接把 gb18030编码的字符串发出去了 要不考虑搞个gb18030直通或者造个 utf-8到 gb18030转换的轮子? |
因为实际上对于 python 之类的语言转 gb18030还是挺方便的。。。如果 api 直接用 gb18030通信倒是能接受,python 收到再处理即可 比如说加个选项叫“转换 utf-8” 如果关掉就是 gb18030之类的? 感觉工程量可能不少,不清楚多少地方用 utf-8了 |
别的语言就不清楚了,毕竟不懂前端这一堆,不懂 http 携带非 utf-8有什么问题 |
他这个确实是直接原样发过去了,直接 GB18030 肯定是可以的,不过我目前的架构上要直接接受 GB18030 可能有点难度,因为现在整个插件的核心部分是对 UTF-8 做处理的,只要需要转到 UTF-8,那再转回来就会有问题,可能一个解决办法是不通过 WinAPI 的编码转换,找其它库转。 实际上 HTTP 传输过程上是不需要出现 GB18030 的,UTF-8 永远都是可以识别的,关键就在于发送给酷 Q 的时候需要转 |
我觉得也是,如果能直接用 utf-8通信是最好的,不过只能避开 winapi 了 |
有没有可能用 Libiconv 来进行 utf8到 gb18030的转换?可以绕开 winnt 支持的样子 |
理论上可以但我之前测试好像有问题,等放假有空再研究一下 |
好的,辛苦了 |
v3.3.3 用 libiconv 做 UTF-8 和 GB18030 之间的转换了,测试 Win 7 和 Win 10 上都没有问题了,但是 Wine 和 Windows Server 2012 只有私聊消息正常,群消息和讨论组消息还是不能发送非中文的特殊字符,很奇怪,暂时不知道是为什么 |
可以可以,有进展就很 OK |
Docker 上测试了一下,就我 issue 发的那个字符是能从 tg 发到 qq 了,也能发回来了,从 qq 群组。 |
嗯,感谢帮忙测试 |
测试到现在为止我觉得 Docker 上的工作是正常的,不知道您测试的时候啥地方出问题了 |
那有可能我这边酷 Q 抽风或者测试程序写得有问题,既然能正常工作那最好
Curtis Jiang <[email protected]>于2017年12月30日 周六00:06写道:
… 测试到现在为止我觉得 Docker 上的工作是正常的,不知道您测试的时候啥地方出问题了
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#42 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFEh51vxby1A8079no3cOTnuK78TSqgdks5tFQ4dgaJpZM4Q6mhE>
.
|
使用您的 python sdk 发送 'ي' 字符,qq 会收到 '?'
用 qq 发 'ي',python 这边会收到 '??'
这是使用 python 默认编码的情况,即 python 端为 utf-8
我想咨询一下这种情况应当怎么处理才能正常发送?
在使用 socketapi 的时候这些字符是能正常发送的,只要我 encode 成 gb18030
但是您的这个我 encode 成gb18030也不行,所以现在不知道怎么操作了
The text was updated successfully, but these errors were encountered: