perl中文乱码问题

binmode可以很好的解决perl中问题,采用Encode1,Encode等方式不管用

PerlFile.pl测试源码:

#!/usr/bin/env perl 
#===============================================================================
#
#         FILE: perlFile.pl
#
#        USAGE: ./perlFile.pl  
#
#  DESCRIPTION: 
#
#      OPTIONS: ---
# REQUIREMENTS: ---
#         BUGS: ---
#        NOTES: ---
#       AUTHOR: YOUR NAME (), 
# ORGANIZATION: 
#      VERSION: 1.0
#      CREATED: 2017/2/8 9:49:51
#     REVISION: ---
#===============================================================================

use strict;
use warnings;
use utf8;



binmode(STDIN,":encoding(gb2312)");
binmode(STDOUT,":encoding(gb2312)");

while ( <> ) {
    chomp;
    print $_,"\n";
    last if $_ =~ m/q/xm;
}

open(FEIJI,"E:\\feiji.txt") or die "can't open the file \n";
my $car ="尾翼";

	• binmode(FEIJI,":encoding(gb2312)");
# binmode( STDIN,  ':encoding(gbk2312)' );
 #binmode( FEIJI,  ':encoding(utf8)' );
 #binmode( STDOUT, ':encoding(gbk2312)' );   
 #binmode( STDERR, ':encoding(gbk2312)' ); 
#while( my $line = <FEIJI>){
#my $re = Encode::decode('GB2312','汽车');
 my $count=1;
 while( <FEIJI>){
     #print "$_ \n" ;
    #     print "$_ \n" if $_ =~ /.*$re.*/;
#    Encode::_utf8_on($_);
    #    Encode::decode_utf8($_);
    #print "$_\n" ;#if $_ =~ m/$car/xm;
    #print "$count: $_\n" if $_ =~ m/$car/xm;
    #$count +=1;

     s/汽车/风力机/g;
    print;
    }

Related
叶昭良
叶昭良
Engineer of offshore wind turbine technique research

My research interests include distributed energy, wind turbine power generation technique , Computational fluid dynamic and programmable matter.