以下是對(duì)DedeCMS GBK版安裝sphinx全文索引無(wú)法查詢無(wú)結(jié)果的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
本測(cè)試安裝的是sphinx中文版-coreseek 4.0版,用測(cè)試中文的命令在命令行查詢:
echo 網(wǎng)絡(luò)搜索 | 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中卻無(wú)結(jié)果,經(jīng)過(guò)摸索,終于找到原因,DedeCMS GBK版的search.php中的關(guān)鍵字編輯是GBK的,而sphinx全文索引要求是utf8,
所以無(wú)法查詢GBK編碼的中文;
解決方法:
打開(kāi)plus中的search.php , 找到:
$keyword = addslashes(cn_substr($keyword,30));
在這行下面增加:
$keyword= mb_convert_encoding($keyword,"UTF-8", "GBK");
即可正常查詢!