我想在Cygwin上打开一个excel文件,文件名中有ü
,但我得到一个例外:
OLE exception from "microsoft Office Excel":
这是我正在使用的程序:
use 5.014;
use warnings;
use strict;
use Win32::OLE qw(CP_UTF8);
use Win32::OLE::Const 'Microsoft Excel';
use Win32::OLE::Enum;
$Win32::OLE::Warn = 2;
$Win32::OLE::CP = CP_UTF8;
my $excel = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;});
my $filename = "/cygpath/c/fooü.xls";
$filename = `cygpath -wa '$filename'` or say "Damned";
my $book = $excel->Workbooks->Open({ FileName => $filename, ReadOnly => 1}) or return;
如何正确编码文件名?我已经尝试了encode('utf8', $filename)
以及cp1252
和latin1
。