当前位置:首页 > CMS教程 > ecshop > 列表

总结ecshop列表及详情页乱码问题解决方法

发布:smiling 来源: PHP粉丝网  添加日期:2015-05-08 09:35:09 浏览: 评论:0 

本文我们来分享我在ecshop二次开发时遇到ecshop页面列表页详情页出现乱码问题解决方法,喜欢ecshop的朋友可以看一下.

ecshop程序有时无故出现554fcae493e564ee0dc75bdf2ebf94ca错误代码,比如:

  1. 554fcae493e564ee0dc75bdf2ebf94camember_info|a:1:{s:4:"name";s:11:"member_info";}554fcae493e564ee0dc75bdf2ebf94ca 
  2.  
  3. 554fcae493e564ee0dc75bdf2ebf94cacart_info|a:1:{s:4:"name";s:9:"cart_info";}554fcae493e564ee0dc75bdf2ebf94ca 

一、首先清下后台缓存,看是否还会出现错误.

二、页面有程序方面错误,这是修改而导致的,只要有程序错误代码先解决掉、再清空缓存.

三、2.7.3版本后,模板不支持php写法,而部分模板里(京东模板)带有diyfile.php处理php代码文件,所以有关php代码都无法编译加载出来.

解决办法:打开includes/cls_template.php文件,找到fetch_str方法,改为如下代码:

  1. function fetch_str($source
  2. if (!defined('ECS_ADMIN')) 
  3. $source = $this->smarty_prefilter_preCompile($source); 
  4. /*if(<a href="/tags.php/preg_match/" target="_blank">preg_match</a>_all('~(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\']?php[\"\']?)~is', $source, $sp_match)) 
  5. { 
  6. $sp_match[1] = array_unique($sp_match[1]); 
  7. for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++) 
  8. { 
  9. $source = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$source); 
  10. } 
  11. for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++) 
  12. { 
  13. $source= str_replace('%%%SMARTYSP'.$curr_sp.'%%%', ''."\n", $source);  //phpfensi.com 
  14. } 
  15. }*/ 
  16. return preg_replace("/{([^\}\{\n]*)}/e""\$this-><a href="/tags.php/select/" target="_blank">select</a>('\\1');"$source); 

四、更早版本的ecshop出现这种问题

解决方法:同样打开includes/cls_template.php文件,注释如下代码:

$source = preg_replace("/<\?[^><]+\?>/i", "", $source);

五、如果不是554fcae493e564ee0dc75bdf2ebf94ca错误提示,出现乱码那就是编码问题,需转换相应文件编码.

Tags: ecshop乱码 ecshop详情页

分享到: