绝代码农 发表于 2021-7-28 12:39:08

浅析DedeCMS GBK版安装sphinx全文索引无法查询无结果的解决方法

本测试安装的是sphinx中文版-coreseek 4.0版,用测试中文的命令在命令行查询:

echo 网络搜索 | iconv -f gbk -t utf-8 | search -c D:\webserver\coreseek-4.0.1-win32\etc\csft_dedecmsv57.conf --stdin | iconv -f utf-8 -t gbk

可成功查询。

但在DedeCms中却无结果,经过摸索,终于找到原因,DedeCMS GBK版的search.php中的关键字编辑是GBK的,而sphinx全文索引要求是utf8,
所以无法查询GBK编码的中文;

解决方法:
打开plus中的search.php , 找到:
$keyword = addslashes(cn_substr($keyword,30));

在这行下面增加:
$keyword= mb_convert_encoding($keyword,"UTF-8", "GBK");

即可正常查询!
文档来源:服务器之家http://www.zzvips.com/article/11062.html
页: [1]
查看完整版本: 浅析DedeCMS GBK版安装sphinx全文索引无法查询无结果的解决方法