揭秘魔兽世界常用起名字符
魔兽世界角色创建界面那个输入框。光标一闪一闪。
很多人卡在取名字这一步。想叫“死亡骑士”。系统提示名字已被使用。想叫“阿尔萨斯”。系统提示名字已被使用。想叫“伊利丹怒风”。系统提示名字包含非法字符或者已被使用。怒风两个字怎么非法了。没搞明白。
于是有人开始用字符替代。这是起名字符存在的根本原因。
起名字符指的是那些在视觉上与标准英文字母几乎无法区分,但在魔兽世界服务器数据库里被识别为完全不同字符的Unicode符号。服务器不认为“A”和“Α”是同一个东西。后者是希腊字母阿尔法。大写形态下肉眼根本看不出区别。显示器上的像素排列一模一样。
这跟字体渲染机制有关。魔兽世界客户端用的字体文件里,很多Unicode字符的 glyph 映射直接调用了对应英文字母的字形。客户端显示出来是一个样子。服务器那边存的字符编码是另一个值。两边不冲突。名字能注册。显示效果不变。
常用的混淆字符就那么几个范围。拉丁字母扩展区。希腊字母区。西里尔字母区。大写I和大写L是重灾区。拉丁字母I的Unicode是U+0049。希腊字母Ι是U+0399。西里尔字母І是U+0406。三个字符在聊天框里打出来。没人能分辨哪个是哪个。但数据库里它们是三条不同的记录。
小写字母同样存在对应关系。拉丁小写a和西里尔小写а。后者Unicode U+0430。魔兽世界字体里这俩长得完全一样。玩家取名“Magician”。把第二个a换成U+0430。系统会当新名字处理。别人看到还是“Magician”。密语的时候如果直接复制粘贴名字。可能密不过去。因为底层编码不同。
操作层面。多数人不会去背Unicode码位。直接在网页上搜魔兽世界起名字符。复制粘贴到游戏里。Windows字符映射表里也能找到这些字符。拉丁扩展-A区块。希腊和科普特区块。西里尔区块。选那个长得像英文字母的。双击复制。切回游戏粘贴。搞定。
有一个需要注意的细节。某些字符在特定字体下会显示成方块。魔兽世界客户端主字体是Friz Quadrata TT或者Arial Narrow。对这几个Unicode区块支持没问题。不会出现乱码。换个字体可能露馅。但这游戏里所有人看到的效果一致。因为用的是同一套客户端资源。
部分玩家追求极致的ID。用“隐形字符”。Unicode里确实存在零宽度的连接符或者不占位的控制字符。比如U+200B零宽空格。U+200C零宽非连接符。这些字符加到名字前后。肉眼看不见。系统计入名字长度。作用是让一个表面看起来正常的名字与原始名字区分开。零宽字符的滥用会导致他人无法通过输入名字来举报或密语。这功能在插件和宏命令里有实际影响。有些人刻意用这招避开被搜索。
还有一些符号属于魔兽世界系统内预留的。比如“-”连字符在某些服务器规则下允许。在另一些不允许。创建公会的时候连字符的使用范围更窄。角色名和公会名走的是两套过滤逻辑。
中文起名环境里有另一个层面的问题。繁体字和简体字在游戏里是两套编码。比如“圣”和“聖”。数据库分别存储。视觉上有差异。不像字母替换那么隐蔽。但依然有人用异体字实现类似效果。
关于违规风险。暴雪用户协议对这方面有界定。使用不可见的控制字符或者刻意模仿他人角色名进行欺诈属于可被举报行为。单纯用希腊字母替换英文字母让自己ID看起来更像原版。只要不涉及冒充GM或知名玩家。一般不触发处罚。但名字如果包含侮辱性内容。替换字符也救不了。
服务器负载方面。起名字符对数据库查询没有任何影响。字段长度限制依旧是2到12个字符。一个Unicode字符算一个字符。不管它占用几个字节。这点暴雪在字符计数上做得比较规矩。
部落和联盟在命名习惯上有区别。兽人常用带重音的元音字母。亡灵用带破碎感的字符组合。这些更多是角色扮演层面的需求。不是规避检测。
还有一个被忽略的点。插件对非ASCII字符的支持程度。有的伤害统计插件在解析战斗日志时。会把希腊字母I开头的玩家名识别成乱码。日志上传WarcraftLogs也可能出问题。取决于解析器怎么处理Unicode转义。
大脚和ElvUI这类整合包对字符集没做额外过滤。背包搜索和好友列表能正常索引。拍卖行搜索如果精确复制名字。要确保大小写和底层字符完全一致。差一个编码都不行。
创建角色的时候名字通过校验。不代表进了游戏就万事大吉。有些服务器社区对这类名字持排斥态度。世界频道里被人指出名字里夹了特殊字符。社交层面有压力。这种属于玩家自发秩序。不是系统硬性规定。
字符映射表这个功能从Windows XP到Windows 11都有。位置在附件里。或者直接按Win键搜索“字符映射”。勾选高级查看。按Unicode子范围筛选。找到拉丁语扩展或者希腊语。肉眼比对哪个长得像英文字母。
还有一个小范围传播的方法。用Alt加数字小键盘输入ASCII扩展码。Alt+0255输出拉丁小写字母y带分音符。但魔兽世界客户端对Alt组合键输入支持不稳定。取决于当时激活的输入法状态。英文输入法下成功率高于中文输入法。
输入法本身也可能吞掉特殊字符。搜狗输入法在魔兽世界里切换中英文模式时。剪贴板里的Unicode内容不会丢失。但用输入法自带的特殊符号面板插入字符。可能导致游戏客户端崩溃。这种情况在怀旧服客户端里发生频率高于正式服。
起名字符本质是Unicode带来的视觉漏洞。暴雪没修。因为修起来成本太高。整个命名系统的字符白名单一旦收紧。会连带影响全球各语种玩家的正常命名权利。德语里的变音字母。法语里的重音符号。西班牙语里的波浪线。这些合法字符在程序逻辑上与希腊字母同属扩展Unicode区块。不可能单独禁掉某一个而不误伤其他。
大多数玩家取名字。没想那么多。只想赶紧进游戏。卡在输入框五分钟了。脑子里的备选方案全被占用。切出去网页复制一个长得像“A”的希腊字母回来。名字绿了。创建角色按钮亮了。点击进入艾泽拉斯。
就这么简单。
声明:五行查询网所有文章资源内容,除特别标注[原创]标识外,均为通过公开渠道采集的网络资源。侵权处理:如发现本站内容侵犯原著者合法权益,请通过以下方式提交书面通知:邮箱:yangming912@qq.com,要求:需提供权利人身份证明及侵权内容具体链接,处理时限:本站将在收到合规通知后72小时内处理。
