phpcms标签伪静态之后中文链接乱码了怎么办

有些开源程序在创建栏目的时候会使用中文字符,这样在后台生成首页之后链接也会含有中文的。例如最典型的就是wordpresss这款开源程序了,在网站后台创建首页导航栏的时候使用的是中文,在首页点击导航栏在链接地址中出现的就有中文的URL。然后有的程序会自动转码,把含有中文字符的转成英文,这样做的好处就是不会乱码。今天小编遇到了一款比较特殊的phpcms开源程序在php免备案空间中出现类似的问题,可是这款程序在做好了伪静态之后不会自动转码,tag标签伪静态之后URL就会乱码了,这可怎么办呢?小编实在无奈之下只能去官方论坛求助了,通过调试分析找到了处理的方法,下面小编就来详细说下处理方法吧。解决方法如下:首先按照以下目录文件找到phpcms/modules/content/tag.php文件,并使用高级编辑器打开。找到以下代码:

$infos=$keyword_data_db->listinfo($where, 'idDESC',$page,$pagesize,"","9",$urlrule,array("tag"=>urlencode($tag)));
将以上代码中的:
'tag'=>urlencode($tag)))
修改成:
'tag'=>$tag))
然后就是修改内容页或者列表页,首页的{APP_PATH}tag-{urlencode($keyword)}-1.html将:
urlencode($keyword)
修改为:
$keyword
修改好了以上两处后保存上传覆盖之前的目录文件。然后再登陆网站的后台更新下系统的缓存再返回首页 tag标签就中文显示了。小编下面再温馨提示下:若标签为英文,是没有问题的;如果标签是中文的话,点击标签时会呈现找不到此关键字的提示,那么该怎么办呢?解决方法如下:找到phpcms/modules/content/tag.php 文件,使用高级编辑器打开找到:
$tag = safe_replace(addslashes($_GET['tag']));
在其正下方添加
$tag = iconv("utf-8","gb2312",$tag); //转编码
这样就行了,如果还是不行的话,只要把括号中的gb2312和utf8调换下顺序就OK了。以上步骤就是小编总结的关于phpcmstag标签伪静态之后中文链接乱码了的处理方法了。高速度 主机相关文章推荐阅读:PHPCMS程序删除文章后数据库中仍有保存的文章中的关键词怎么办?PHPCMS程序如何取消后台登陆后的提示消息呢PHPCMS程序如何添加一个二维码生成函数的方法

本文地址:https://www.gaosudu.com/phpcms/21371.html