为什么 Ext-B 的汉字会被显示成:【𠀀 】,其原因是系统对&#后面超过 5 位数字的编码无法正确处理造成的,而 Ext-B(扩展 B) 的汉字都是大于 131071 的编码,超过 5 位数,所以一律被显示成乱码。

Discuz! X 系列修改方法
编辑 source/function/function_core.php
找到

  1. $string = preg_replace('/&((#(d{3,5}|x[a-fA-F0-9]{4}));)/', '&1', $string);

修改为

  1. $string = preg_replace('/&((#(d{3,7}|x[a-fA-F0-9]{4}));)/', '&1', $string);

即可。

Discuz!7.x 修改方法
编辑 include/global.func.php(Discuz!6.x 及以前版本修改/include/global.inc.php)
找到

  1. $string = preg_replace('/&((#(d{3,5}|x[a-fA-F0-9]{4}));)/', '&1',

修改为

  1. $string = preg_replace('/&((#(d{3,7}|x[a-fA-F0-9]{4}));)/', '&1',

即可。