xmssyl 发表于 2012-5-30 00:25:43

gtk2-perl编程中的中文编码问题,(已解决)

今天用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);
   }

zhangjin9989 发表于 2012-5-30 12:20:49

支持分享经验
页: [1]
查看完整版本: gtk2-perl编程中的中文编码问题,(已解决)