perl输出文件乱码怎么处理

Perl code
open  SQLTEST, ">c:\Ds.txt";
while (<>) {
chomp;
##print "it was $_ that i saw!\n";
$_=~s/ union\s*all /\n\n注释##################\nunion all\n####################\n /x;
my $a=$_;
print SQLTEST  "$a\n";
}


2小问题 加中文乱码如何解决
我想把union all改为变量 不知道正则
里怎么应用呢 除了加一句输入chomp($line=<STDIN>);

作者: FIR1987   发布时间: 2011-05-26

感觉你的中文和代码一样乱七八糟。

1. 乱码问题自己分析字符串编码,跟踪每个环节的字节组成。乱码是最肤浅的现象,光凭这个现象基本没什么解决方案。要不然瞎蒙吧,把字符串编码从gbk转换成utf-8,再从utf-8转换成gbk试试,有时候管用。
2. 正则表达式里一样嵌套变量:/$regexp/。这基本上是想当然的。

作者: iambic   发布时间: 2011-05-27