浅析DedeCMS GBK版安装sphinx全文索引无法查询无结果的解决方法
2013-07-08 15:07
579 查看
本测试安装的是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");
即可正常查询!
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");
即可正常查询!
相关文章推荐
- Gridview查询后,对查询结果进行编辑,可无法定位我要的记录行,解决方法
- solr4.0+IKAnalyzer 中文搜索,无法查询到结果的解决方法-【布尔逻辑和 空格后默认加默认搜索字段】
- 解决SQL2000出现"无法执行查询,因为文件缺少或未注册。再次运行安装程序确保要求的文件已注册。"的方法
- solr4.0+IKAnalyzer 中文搜索,无法查询到结果的解决方法
- win7中无法安装Oracle 10g的解决方法
- win2003上安装SQL2000时CD-KEY(序列号)无法验证解决方法
- 让 Windows7 - 64bit 支持 VC++ 6.0 的解决方法(无法启动此程序,因为计算机中丢失 MSVCRTD.dll。尝试重新安装该程序以解决此问题)
- SQLServer2008过程中因性能计数器不一致导致无法安装的解决方法
- 无法启动MSMQ服务-安装WINCC终极解决方法
- 安装centos后无法引导启动windows7的解决方法
- CentOS 6.5 安装Apache服务器后无法访问解决方法
- 给大家安装VS2008 SP1后web服务器无法调试的解决方法
- centos 7 yum install mysql 安装mariadb 后 mysql 无法启动的解决方法
- XP系统安装Ubantu系统后无法引导UBANTU系统的解决方法
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- sqlserver 2005 开发斑安装,出现 "SQL Server 安装程序无法获取 ASPNET 帐户的系统帐户信息"的解决方法
- 安装centos mini版,无法联网,用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法
- 安装ubuntu14.04之后无法在右上角打开system settings的解决方法
- centos7 无法找到nginx安装解决方法
- android studio 无法调试安装到小米手机解决方法