歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> Linux字符集不統一導致亂碼的解決步驟

Linux字符集不統一導致亂碼的解決步驟

日期:2017/3/2 10:43:38   编辑:Linux維護

  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