liangshengyi99 发表于 2016-3-17 09:48:36

后台的信息筛选搜索功能只能用英文和数字

在后台的信息搜索里,只能用英文和数字搜索得出,中文的就不行,为什么呢,是不是和版本的编码方式有关。


static/image/common/none.gif


3.png (9.26 KB, 下载次数: 0)

下载附件


2016-3-17 09:46 上传





比如人才管理模块,真实姓名里,用中文就搜索不出人了。但如果我换一个人的姓名为英文或数字,用英文或数字就能搜索得出。这样一测试,就是用中文搜不出,问题何在....编码的问题吗

liupt 发表于 2016-3-17 15:28:13


我的可以

zhao90 发表于 2016-3-17 15:58:36


你是什么版本的?

龙在天涯 发表于 2016-3-18 09:12:03


这个和网站编码没有关系,有没有修改过文件

liangshengyi99 发表于 2016-3-18 09:59:30


龙在天涯 发表于 2016-3-18 09:12

这个和网站编码没有关系,有没有修改过文件
问题找到了....
GBK版字符判断函数的问题

龙在天涯 发表于 2016-3-18 09:12:00


liangshengyi99 发表于 2016-3-18 09:59

问题找到了....
GBK版字符判断函数的问题
哦,可以将解决方法分享下
http://bbs.destoon.com/static/image/smiley/default/lol.gif
http://bbs.destoon.com/static/image/smiley/default/lol.gif
http://bbs.destoon.com/static/image/smiley/default/lol.gif

liangshengyi99 发表于 2016-3-21 09:03:28


龙在天涯 发表于 2016-3-21 09:03

哦,可以将解决方法分享下
include/safe.func.php 文件中
函数 dhtmlspecialchars有问题,具体调整办法为:
将现在的函数
function dhtmlspecialchars($string) {
      if(is_array($string)) {
                return array_map('dhtmlspecialchars', $string);
      } else {
                if(defined('DT_ADMIN')) {
                        return str_replace(array('&'), array('&'), htmlspecialchars($string, ENT_QUOTES));
                } else {
                        return str_replace(array('&', '"', '"', '"'), array('&', '', '', ''), htmlspecialchars($string, ENT_QUOTES));
                }
      }
}

替换为:
function dhtmlspecialchars($string) {
    $encoding = 'utf-8';
    if(DT_CHARSET=='gbk')
      { $encoding = 'gb2312'; }   
    if(is_array($string)) {
      return array_map('dhtmlspecialchars', $string);
    } else {
      if(defined('DT_ADMIN'))
                {
            return str_replace(array('&'), array('&'), htmlspecialchars($string, ENT_QUOTES,$encoding));
      } else {
            return str_replace(array('&', '"', '"', '"'), array('&', '', '', ''), htmlspecialchars($string, ENT_QUOTES,$encoding));
      }
    }
}


已经测试,暂时没有发现问题

龙在天涯 发表于 2016-3-18 09:59:00


liangshengyi99 发表于 2016-3-23 09:50

include/safe.func.php 文件中
函数 dhtmlspecialchars有问题,具体调整办法为:
将现在的函数
不错,支持楼主分享
页: [1]
查看完整版本: 后台的信息筛选搜索功能只能用英文和数字