Powershell 从文件检索日语或本地化字符串的步骤

Powershell 从文件检索日语或本地化字符串的步骤,powershell,Powershell,我有下面的代码从mht文件中检索日语或本地化字符串。我使用了这里列出的几乎所有编码参数(未知、字符串、unicode、BigendiaUnicode、utf8、utf7、utf32、ascii、默认、oem)并进行了验证。它总是打印垃圾字符,而不是原始的中文或日文名称 $log = "c:\scripts\meta.mht" $patt = 'title' $indx = Select-String $patt $log | ForEach-Object {$_.LineNumber} writ

我有下面的代码从mht文件中检索日语或本地化字符串。我使用了这里列出的几乎所有编码参数(未知、字符串、unicode、BigendiaUnicode、utf8、utf7、utf32、ascii、默认、oem)并进行了验证。它总是打印垃圾字符,而不是原始的中文或日文名称

$log = "c:\scripts\meta.mht"
$patt = 'title'
$indx = Select-String $patt $log | ForEach-Object {$_.LineNumber}
write-host (Get-Content $log)[$indx] | out-file -encoding string c:\scripts\temp1.xml
有人能帮我打印本地化字符串吗?我应该使用哪个编码参数? 我尝试了所有列出的参数,但没有成功(未知、字符串、unicode、BigendiaUnicode、utf8、utf7、utf32、ascii、默认、oem)


提前感谢。

尝试更改
获取内容的编码,如下所示:

write-host (Get-Content -Path $log -Encoding UTF8)[$indx] | out-file -encoding UTF8 c:\scripts\temp1.xml

我不确定您是否需要UTF8或UNICODE,请同时尝试
获取内容
输出文件
尝试更改
获取内容
的编码,如下所示:

write-host (Get-Content -Path $log -Encoding UTF8)[$indx] | out-file -encoding UTF8 c:\scripts\temp1.xml

我不确定您是否需要UTF8或UNICODE,请尝试使用
获取内容
输出文件

这两种方法。我非常满意此解决方案……它工作得非常完美。但我有一个问题,UTF8是否支持所有本地化语言字符串。在未来,我将使用大约104种本地化语言。@jakpraveen您应该可以继续使用UTF8。它可以对任何unicode字符进行编码。查看此以了解更多信息。顺便说一句-很高兴这能帮助你,因为这回答了你的问题,请接受它作为公认的答案。谢谢。我对这个解决方案非常满意……它工作得非常好。但我有一个问题,UTF8是否支持所有本地化语言字符串。在未来,我将使用大约104种本地化语言。@jakpraveen您应该可以继续使用UTF8。它可以对任何unicode字符进行编码。查看此以了解更多信息。顺便说一句-很高兴这能帮助你,因为这回答了你的问题,请接受它作为公认的答案。谢谢