如下图




下面是另一个问题
此外,除了msg.fromMsg,此问题还出现在getUserConf(msg.fromQQ, “name”),其他未测试,可能也有问题

--判断连续的三位byte是否符合汉字规范
--第一位应该介于[228,233],第二位和第三位应该介于[128,191]

s_byte=""
flag=false

for i=1,string.len(msg.fromMsg)-2 do
    s_byte = s_byte..string.byte(msg.fromMsg,i)..","
    local ss1 = string.byte(msg.fromMsg,i)
    local ss2 = string.byte(msg.fromMsg,i+1)
    local ss3 = string.byte(msg.fromMsg,i+2)
    if (228<=ss1 and ss1<=233 and 128<=ss2 and ss2<=191 and 128<=ss3 and ss3<=191) then
        flag = true
    end
end
s_byte = s_byte..string.byte(msg.fromMsg,-2)..","
s_byte = s_byte..string.byte(msg.fromMsg,-1)..","

if (flag) then
    return "【检测到汉字】\n接收到字符:"..msg.fromMsg.."\n字符byte为"..s_byte
else
    return "【未检测到汉字】\n接收到字符:"..msg.fromMsg.."\n字符byte为"..s_byte
end
Cl- 将标题更改为 「部分汉字识别错误」。

看一下这个

虽然我不知道你用的编码是什么,但是:
lua的汉子字符与编码类别有关,就汉字长度而言,GBK和UTF-8就有 23 的区别,所以你应该注意到这一点

你使用 string.len(msg.fromMsg)-2在UTF-8里,若遇到奇数个汉字大概率必定报错,因为汉字长度在UTF-8里是3

说点什么吧...