使用;msoEncodingUTF8“文件;在perl脚本中使用Win32::OLE

使用;msoEncodingUTF8“文件;在perl脚本中使用Win32::OLE,perl,utf-8,ms-word,win32ole,Perl,Utf 8,Ms Word,Win32ole,我有一个Perl脚本,它将Word文档保存为HTML文档。 以下代码起作用: use strict; use Win32::OLE::Const 'Microsoft Word'; [...] $go_word_doc->SaveAs2({ FileName => $gs_html_name, FileFormat => wdFormatFilteredHTML }); 为了用UTF-8对输出文件进行编码,我将命令改为: $go_word_doc-&g

我有一个Perl脚本,它将Word文档保存为HTML文档。 以下代码起作用:

use strict;
use Win32::OLE::Const 'Microsoft Word';
[...]
$go_word_doc->SaveAs2({
    FileName => $gs_html_name,
    FileFormat => wdFormatFilteredHTML
    });
为了用UTF-8对输出文件进行编码,我将命令改为:

$go_word_doc->SaveAs2({
    FileName => $gs_html_name,
    FileFormat => wdFormatFilteredHTML,
    Encoding => msoEncodingUTF8
    });
问题是“msoEncodingUTF8”被视为一个空话,我在任何地方都找不到我应该为它添加的内容

有人能帮忙吗? 提前感谢。

为Windows代码页命名
msoEncodingUTF8
是UTF-8代码页的名称,
65001

use constant msoEncodingUTF8 => 65001;
为Windows代码页提供名称
msoEncodingUTF8
是UTF-8代码页的名称,
65001

use constant msoEncodingUTF8 => 65001;

以下命令将为您创建
msoEncodingUTF8
(和其他常量):


以下命令将为您创建
msoEncodingUTF8
(和其他常量):


你在哪里发现“msoEncodingUTF8”是你应该给出的?好吧,这是一个好问题,因为它似乎不起作用,即使Ikegami给出了解决方案(65001是预期值,是的)。:(我在这里找到了:'Encoding'据说也是MS文档中SaveAs2函数的一个参数,在这里:我想我会用另一种方式问我的问题!谢谢你的时间。你在哪里找到了“msoEncodingUTF8”你应该给出什么?好吧,这是一个好问题,因为它似乎不起作用,即使Ikegami给出了解决方案(65001是预期值,是的)。:(我在这里找到了:'Encoding'据说也是MS文档中SaveAs2函数的一个参数,在这里:我想我会用另一种方式问我的问题!谢谢你的时间。我最终通过了“使用Win32::OLE::Const'MicrosoftOffice[0-9.]+对象库';”,但你的建议也有效。谢谢。我最终通过了“使用Win32::OLE::Const‘Microsoft Office[0-9.]+对象库’;”,但您的建议也有效。谢谢。