為什麼 Ext-B 的漢字會被顯示成:【𠀀 】,其原因是系統對&#後面超過 5 位數字的編碼無法正確處理造成的,而 Ext-B(擴充套件 B) 的漢字都是大於 131071 的編碼,超過 5 位數,所以一律被顯示成亂碼。
Discuz! X 系列修改方法
編輯 source/function/function_core.php
找到
- $string = preg_replace('/&((#(d{3,5}|x[a-fA-F0-9]{4}));)/', '&1', $string);
修改為
- $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)
找到
- $string = preg_replace('/&((#(d{3,5}|x[a-fA-F0-9]{4}));)/', '&1',
修改為
- $string = preg_replace('/&((#(d{3,7}|x[a-fA-F0-9]{4}));)/', '&1',
即可。