帝国cms tag伪静态中文乱码的解决办法

发布时间:2019-10-08编辑:脚本学堂
tag伪静态,tag伪静态中文乱码,帝国cms tag伪静态中文乱码的解决办法

其实也不能完全称之为中文乱码,所谓看着像乱码,只是做了urlencode处理而已。

为了让tag显示中文路径,修改了文件/e/class/t_functions.php文件里的一段代码:

此段:  

复制代码 代码如下:
$str.=$jg.'& lt;a href="'.$public_r[newsurl].'e/tags/?tagid='.$r[tagid].$cs.'" target="_blank">'.$font1.$r[tagname].$snum.$font2.'</a>'.$br;

修改为:  

复制代码 代码如下:
$str.=$jg.'<a href="'.$public_r[newsurl].'e/tags/?tagname='.$r[tagname].$cs.'" target="_blank">'.$font1.$r[tagname].$snum.$font2.'</a>'.$br;

修改后测试
标签调用:[showtags]'',0,0,'',0,s,'',1,''[/showtags] (调用全部tags)
显示正常中文地址http://www.xxxxx.com/e/tags/?tagname=图片

而内容页调用:[showtags]'selfinfo','',0,'','','','',0,''[/showtags]
显示其他编码  http://www.xxxxx.com/e/tags/?tagname=%CD%BC%C6%AC

要让内容页也显示形如http://www.xxxxx.com/e/tags/?tagname=图片的地址,解决办法如下:

修改t_functions.php中  

复制代码 代码如下:
$str.=$jg.'<a href="'.$public_r[newsurl].'e/tags/?tagname='.urlencode($r[$i]).$cs.'" target="_blank">'.$r[$i].'</a>'.$br;

改为  

复制代码 代码如下:
$str.=$jg.'<a href="'.$public_r[newsurl].'e/tags/?tagname='.$r[$i].$cs.'" target="_blank">'.$r[$i].'</a>'.$br;

其实,就是去掉了urlencode函数而已。