【问题标题】:to retrieve a Japanese or localized string from a file从文件中检索日语或本地化字符串
【发布时间】:2012-01-27 01:22:02
【问题描述】:

我有以下代码从 mht 文件中检索日语或本地化字符串。我已经使用了这里列出的几乎所有编码参数(未知、字符串、unicode、bigendianunicode、utf8、utf7、utf32、ascii、default、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,bigendianunicode,utf8,utf7,utf32,ascii,default,oem)

提前致谢。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    尝试像这样更改Get-Content 的编码:

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

    我不确定您是否需要 UTF8 或 UNICODE,请同时尝试 Get-ContentOut-File

    【讨论】:

    • 我对这个解决方案非常满意......它运行完美。但我有一个问题,UTF8 是否支持所有本地化语言字符串。将来,我将使用大约 104 种本地化语言。
    • @jakkpraveen 使用 UTF8 应该没问题。它可以编码任何 unicode 字符。查看此article 了解更多信息。顺便说一句 - 很高兴这对您有所帮助,因为这回答了您的问题,请接受它作为已接受的答案。谢谢。
    猜你喜欢
    • 2015-11-10
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多