歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

Referrers統計系統的亂碼問題解決

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的幫助:)

Copyright © Linux教程網 All Rights Reserved