ecshop 2.7.3 gbk版“我的推荐”中效果出现乱码的解决办法

ecshop 2.7.3 gbk版官方版本安装之后,当我们推荐某个产品的时候,“我的推荐”中的效果出现乱码。

点击放大图片
如图所示,非常让人恼火。

打开源码
点击放大图片

可以看到都是乱码。
http://www.maiseed.com/affiliate ... gid=60&u=367&type=1

经过一番追查,这个文件就是我们的效果源代码,单独打开这个链接看看。

点击放大图片

中文乱码,那么可以确认就是这类出现问题了,我们查看一下这个页面的编码。


点击放大图片

果然不出所料,这个页面的编码是utf-8,那中文肯定乱码了啊。

这就说明affiliate.php输出这段代码的时候,header头部的编码是utf-8,而不是gbk。


解决这个问题就好了。

解决办法:

首先把这个文件保存为gbk编码的。

第二步,
在约31行

if ( $display_mode == 'javascript' )
{
    $charset_array=array('UTF8','GBK','gbk','utf8','GB2312','gb2312');
    if(!in_array($charset,$charset_array))
    {
         $charset='UTF8';
    }
    header('content-type: application/x-javascript; charset=' . ($charset == 'UTF8' ? 'utf-8' : $charset));
}


从这段代码的意思可以看出当$charset的值不在$charset_array这个数组的时候$charset就为UTF8;从代码来看应当是没问题,在这里$charset应当是gbk,但是不知为何程序没有这样判断,程序认为$charset的值不在这个数组里面,所以$charset='UTF8';所以就出现了我们这个乱码的问题,那么解决办法也就简单了,本来我们就是gbk版本,所以我们修改UTF8为gbk就可以了。即把上面代码修改为

if ( $display_mode == 'javascript' )
{
    $charset_array=array('UTF8','GBK','gbk','utf8','GB2312','gb2312');
    if(!in_array($charset,$charset_array))
    {
         $charset='gbk';
    }
    header('content-type: application/x-javascript; charset=' . ($charset == 'UTF8' ? 'utf-8' : $charset));
}



这样我们的header就能获得charset=gbk的值了,我们问题也就解决了。

点击放大图片



以下说明属本文之一部分:
转载请保持完整并注明:转自 金刀客[www.daokers.com]


相关日志:
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
在线RSS阅读器订阅:
feedsky
抓虾 pageflakes Rojo google reader
my yahoo newsgator bloglines 有道
鲜果 飞豆 哪吒 Netvibes
Netvibes Netvibes

手机订阅:


本站订阅地址:
RSS2:点击复制
Atom:点击复制
        本站所有原创文章均遵循 [创作共用协议]
        本站原创文章可以转载,但须保持完整性并注明出处。
        COPYRIGHT 2008-2010  §  HTTP://WWW.DAOKERS.COM  §    ALL RIGHTS
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 验证码提示:单击自动获取验证码
内 容:
最多可输入,当前共,还可输入
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.