帝国cms

推荐列表 站点导航

当前位置:首页 > 建站教程 > 帝国cms >

关于utf-8下中文tags搜索不到的问题

来源:网络整理  作者:网络  发布时间:2020-12-12 20:04
帝国CMS模板网下面的帝国CMS教程栏目为您提供了关于utf-8下中文tags搜索不到的问题...



哎,看来真是大侠都隐退江湖了!

至此试验成功,本文只针对初学及代码零基础的菜友们,大侠可以略过,不过衷心希望帝国CMS在做相关插件及应用的时候对两种编码全面考虑,不然你出个UTF8而没有可广泛应用的内容=没用 !

处理方法见下:
直接将输出结果$r[$i]进行转码,结果中文tags对应的搜索链接地址变成了:

?searchget=1&tbname=news&tempid=1&show=keyboard&keyboard=%E5%B8%9D%E5%9B%BD
前台试验了下在Google 搜索 帝国,将返回地址中帝国的编码替换到上面网址实例中进行搜索请求,结果返回了正确的搜索结果,不会像之前直接中文时老是返回搜索不到,而实际明明能在全站搜索中搜索到的尴尬情形.

求人不如求己,对搜索字符进行转码,经过Google 的帮忙找到了一位大侠的帖子,看明白了urlencode的用法之后对原userfun.php 简单修改了下,现在支持UTF-8 的中文tags搜索,解决UTF-8下中文tags搜索不到的问题


原userfun.php在下面,对齐进行转换应该如何操作,请大大们不吝赐教!
?searchget=1&tbname=news&tempid=1&show=keyboard&keyboard=帝国
上面帝国只是举个例子,这里可得知前台tags "帝国" = 后台"$r[$i] ,那么对我像我这样代码零基础的人来说能理解到这程度已经花了很多心思了

看了很多帖子才知道,原来UTF-8编码下中文tags搜索不到是因为编码的缘故,前辈提出要对字符进行转换,但应该对userfun.php 做怎样的修改呢,请知道的前辈能详细说清楚吧,别再有一句没一句的让我们这些初学者摸不着头脑了,谢谢了!


参照前面那位大侠在博客中的范例,只要对后面输出地址进行转码就行,遂大胆试验了下:

这是原userfun.php 显示本文tags的语句:

$tagslink=$public_r[newsurl]."e/search/?searchget=1&tbname=$tbname&tempid=$tempid&show=keyboard&keyboard=".urlencode($r[$i]); //链接
红色处是原有的网址后缀,我们分析前台tags代码时可以得知:

在userfun.php 中,将输出网址进行中文转码,就像百度,Google 一样将 输入字符进行编码转换:
$tagslink=$public_r[newsurl]."e/search/?searchget=1&tbname=$tbname&tempid=$tempid&show=keyboard&keyboard=".$r[$i]; //链接

相关热词: tags

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/jz/ecms/3043.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

关于utf-8下中文tags搜索不到的问题

2020-12-12 编辑:网络




哎,看来真是大侠都隐退江湖了!

至此试验成功,本文只针对初学及代码零基础的菜友们,大侠可以略过,不过衷心希望帝国CMS在做相关插件及应用的时候对两种编码全面考虑,不然你出个UTF8而没有可广泛应用的内容=没用 !

处理方法见下:
直接将输出结果$r[$i]进行转码,结果中文tags对应的搜索链接地址变成了:

?searchget=1&tbname=news&tempid=1&show=keyboard&keyboard=%E5%B8%9D%E5%9B%BD
前台试验了下在Google 搜索 帝国,将返回地址中帝国的编码替换到上面网址实例中进行搜索请求,结果返回了正确的搜索结果,不会像之前直接中文时老是返回搜索不到,而实际明明能在全站搜索中搜索到的尴尬情形.

求人不如求己,对搜索字符进行转码,经过Google 的帮忙找到了一位大侠的帖子,看明白了urlencode的用法之后对原userfun.php 简单修改了下,现在支持UTF-8 的中文tags搜索,解决UTF-8下中文tags搜索不到的问题


原userfun.php在下面,对齐进行转换应该如何操作,请大大们不吝赐教!
?searchget=1&tbname=news&tempid=1&show=keyboard&keyboard=帝国
上面帝国只是举个例子,这里可得知前台tags "帝国" = 后台"$r[$i] ,那么对我像我这样代码零基础的人来说能理解到这程度已经花了很多心思了

看了很多帖子才知道,原来UTF-8编码下中文tags搜索不到是因为编码的缘故,前辈提出要对字符进行转换,但应该对userfun.php 做怎样的修改呢,请知道的前辈能详细说清楚吧,别再有一句没一句的让我们这些初学者摸不着头脑了,谢谢了!


参照前面那位大侠在博客中的范例,只要对后面输出地址进行转码就行,遂大胆试验了下:

这是原userfun.php 显示本文tags的语句:

$tagslink=$public_r[newsurl]."e/search/?searchget=1&tbname=$tbname&tempid=$tempid&show=keyboard&keyboard=".urlencode($r[$i]); //链接
红色处是原有的网址后缀,我们分析前台tags代码时可以得知:

在userfun.php 中,将输出网址进行中文转码,就像百度,Google 一样将 输入字符进行编码转换:
$tagslink=$public_r[newsurl]."e/search/?searchget=1&tbname=$tbname&tempid=$tempid&show=keyboard&keyboard=".$r[$i]; //链接

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/jz/ecms/3043.shtml

相关文章

风云图片

推荐阅读

返回帝国cms频道首页