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

moqu8 2017-10-1

47 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

历史资源已不再提供任何技术支持和售后服务,客服仅处理无法下载或支付相关问题,资源使用或异常问题请自行解决!
支持中心