Discuz!支持超大字符集的方法 [复制链接]

moqu8 2017-10-1

4 0
为什么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',
复制代码


即可。

最新回复 (0)
返回
支持中心
邮箱:winkill2012@qqcom
新站优化中!部分功能尚未完善,敬请谅解!
支持中心