為什麼 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',

即可。