referrers系統可以很好的顯示反向鏈接,目前很多站點上顯示的最新來源(referer)統計都是用的是Stephen的referrer統計系統。我們今天要討論的不是它的安裝問題,而是它的字符集亂碼問題 這個軟件存在著字符集的問題,這個問題我想大家都會碰到,由於我的blo
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的幫助:)