|
今天用gtk2-perl写程序
程序需要打开一个文件名为中文的excel,开始的时候报错,无法执行。
后发现原因为gtk内部编码问题,查了一下相关文档,gtk与perl内部都是用utf8编码,因此在使用时,需要将内部编码转换成外部可用编码,按以下方法解决。
以下为程序:(外部的excel的文件名为"中文.xls“)
$filename='中文';
my $filename=$current_dir.'/data/'.$filename.'.xls';
$filename=encode('cp936',$filename);
my @table=&get_sheetnames($filename);
下面是另一段向txt类型文件内写东西时用的程序:
sub save_task
{
open(OUTPUT,"+>$file");
print OUTPUT (encode("gbk","$name\n"));
print OUTPUT (encode("gbk","$man\n"));
print OUTPUT (encode("gbk","$date\n"));
close(OUTPUT);
} |
|