perl 自動識別編碼,轉換編碼

use Encode;
use File::Copy;
use File::Copy::Recursive qw(rmove);
my $f=$ARGV[0];
my $a=`file --mime-encoding "$f"`;
my @b= split /:/,$a;
my $c=$b[1];
$c =~ s/\s//g;
print $c;
print "\n";
if ($c eq 'utf-8' ){
  print "$f=$c"."\n";
}
elsif($c eq 'iso-8859-1'){
  print "$f=$c"."\n";
  open (FILE ,"<","$f");  
  open(OUTFILE, ">","$f.1");
  while (<FILE>) {  
    $str = encode("utf-8",decode("GB2312","$_"));
    print OUTFILE ($str);
  };
  close FILE;
  close OUTFILE;
  rmove ("$f.1", "$f");
}
else
 {print "not support "."$f=$c"."\n";};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章