Heim >Backend-Entwicklung >PHP-Tutorial >referrers的乱码问题解决

referrers的乱码问题解决

WBOY
WBOYOriginal
2016-05-20 09:09:361244Durchsuche
referrers系统可以很好的显示反向链接,目前很多站点上显示的最新来源(referer)统计都是用的是Stephen的referrer统计系统。我们今天要讨论的不是它的安装问题,而是它的字符集乱码问题

这个软件存在着字符集的问题,这个问题我想大家都会碰到,由于我的blog是UTF-8字符,而反向链接过来的国内好多网站都是GB2312,所以统计出来的时候GB2312就显示了乱码。非常之难看,所以有必要通过技术手段把字符集统一。

在hedong的帮助下,终于把这个问题给搞定了。实际上就是使用icov和Text-Iconv-1.2来将GB2312变为UTF-8。 下面是具体步骤:

1、检查iconv软件包是否安装

iconv -V

如果iconv不存在,则需要安装glibc-common*.rpm包。

2、下载Text::Iconv模块,并安装
wget http://search.cpan.org/CPAN/authors/id/M/MP/MPIOTR/Text-Iconv-1.2.tar.gz
tar zxvf Text-Iconv-1.2.tar.gz
cd Text-Iconv-1.2
perl Makefile.PL
make
make test
make install

3、配置referrers.cgi文件
在use CGI qw(:cgi-lib);后添加以下语句;
use Text::Iconv;
my $converter = Text::Iconv->new("GB2312", "UTF-8");

在# Print out the information那段代码钱增加以下类似语句
if (index($durl,"baidu.com")>-1 ||index($durl,"msnfans.com")>-1 ||index($durl,"mybh.net")>-1 ||index($durl,"hed
ong.3322.org")>-1) {
$dtit=$converter->convert($dtit);
}

以后都是手动添加相应需要转换字符集的网站。

如果你是UTF-8传GB2312也是类似

再次感谢hedong的帮助:)
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn