shamiao 发表于 2020-3-29 13:32:01

论坛不支持emoji字符

目前发帖会在emoji字符处截断,丢失所有后边的内容。

推测是mysql数据库误用了utf8_general_ci的原因,本来应该使用utf8mb4_general_ci。

我马上在沙发位发送一个含有emoji字符的帖子触发此bug。

shamiao 发表于 2020-3-29 13:32:56

这是第一行,这个帖子应该有三行文本,第二行文本的中间有一个emoji字符。
这是第二行,emoji字符就在后边,

armok. 发表于 2020-3-29 13:33:51

的确发淘宝链接的时候,会产生问题我习惯将表情符号删除再发。

所以不觉得什么问题。

我将你的描述发给了技术人员,让他检查。

armok. 发表于 2020-3-29 14:03:24

fu植这行话₴7brV1REbfRn₴转移至


原文是这样的:

armok. 发表于 2020-3-29 14:05:09

技术人员回复:

现在用的是utf8mb4_unicode_ci

我们当初是这样创建数据库的:

这是用的语句
CREATE DATABASE discuz CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

shamiao 发表于 2020-3-29 14:34:15

armok 发表于 2020-3-29 14:05
技术人员回复:

现在用的是utf8mb4_unicode_ci


也就是说我猜的不对,问题并不出在mysql数据库这一环节上。
我暂时没有更多的猜测或想法了。将来如果有,会再回帖联系。

armok. 发表于 2020-3-29 15:05:07

好的,谢谢。

armok. 发表于 2020-3-30 01:17:19

谁知道解决方法可以告诉我。

memstone 发表于 2020-3-30 02:57:30

我赞同楼主的想法。最好能再检查一下字段的 charset , mysql 的 charset 可以定义到字段级别。论坛应该是 PHP 的,不会存在 2 字节 utf8 的问题,只有数量库这个环节了。

armok. 发表于 2020-3-30 03:02:13

memstone 发表于 2020-3-30 02:57
我赞同楼主的想法。最好能再检查一下字段的 charset , mysql 的 charset 可以定义到字段级别。论坛应该是...

好,转给技术人员了。

brother_yan 发表于 2020-3-30 10:38:28

本帖最后由 brother_yan 于 2020-3-30 10:41 编辑

好奇试了一下,在回复其它帖子时加了个emoji:(Punycode的xn--g28h),然后F12,发现提交的时候编码为
%F0%9F%98%82
而论坛自带的emoji是类似:
{ : smile : }
这种形式

再看返回的页面,论坛自带的emoji是被修改成图片了。
论坛需要将提交的文本进行渲染,可能渲染逻辑的问题?比如认为%F0%9F%98%82是非法字符?
附件是能显示这个emoji的网页

armok. 发表于 2020-3-30 11:17:32

brother_yan 发表于 2020-3-30 10:38
好奇试了一下,在回复其它帖子时加了个emoji:(Punycode的xn--g28h),然后F12,发现提交的时候编码为

而论 ...

谢谢,已经转发给技术人员。

armok. 发表于 2020-4-18 07:31:49

PC测试。。。。

幅治这行话₳CoI71PnuaP2₳转移至淘宀┡ē【容威豆芽机家用全自动大容量智能发豆牙盆自制小型生绿豆神器芽罐】;或https://m.tb.cn/h.VSAJhxI?sm=2c84db 掂击鏈→接,再选择瀏lan嘂..dakai

armok. 发表于 2020-11-26 02:41:34

这个问题已经解决。

shawn_bu 发表于 2020-11-26 11:02:27

赞。   
页: [1]
查看完整版本: 论坛不支持emoji字符