#85 [本地化] 无法私聊名字含非ASCII字符的角色
状态: 待审核 · 分类: 界面与插件 · 聊天与社交
中文客户端无法向中文名角色发送密语,聊天框显示异常后无法发出。
当前表现
在中文客户端上,无法向名字含有汉字的角色发送私聊。 输入私聊目标后,聊天输入框会把目标显示成类似下面的形式: /cw 中文名 一旦出现这种情况,无论玩家之后输入什么或如何操作聊天输入框,私聊都无法发送。 仅包含ASCII字母或数字的角色名仍然可以被识别。 该问题已在汉字角色名上得到确认。从受影响的模式来看,其他非ASCII名字——如日文、韩文或带重音符号的拉丁字母名字——也可能受影响。 问题似乎源自以下代码: 当 `RegionalUniqueNamesEnabled()` 返回true时,目标匹配模式使用 `%w+`。 在这种情况下,Lua的 `%w` 字符类不支持UTF-8,只能识别ASCII风格的字母数字。因此,含有非ASCII字符的本地化角色名无法被正确解析为私聊目标。
预期表现
聊天系统应该能正确识别本地化角色名,并允许正常发送私聊。 例如: /w 中文名 测试 应该把 `测试` 发送给名为 `中文名` 的角色。
复现步骤
1. 启动中文客户端。 2. 输入向汉字名角色发送私聊的命令: /w 中文名 测试 3. 按回车键。 4. 观察到聊天输入框显示 `/cw 中文名`。 5. 继续输入或再次尝试发送私聊。 6. 观察到无论之后如何输入或操作,私聊都无法发送。