Powershell Umlaute检查显示始终为假

时间:2020-10-20 07:39:01

标签: powershell

此代码

$text = "Überflieger"
$text.ToLower()
if($text.ToLower().Contains('ü')) {
    Write-Host 'True'
} else {
    Write-Host 'False'
}

显示为结果

ãœberflieger
False

这是错误的。 来源是CSV。因此,不能保证字母是UTF8编码的。如何使用Powershell正确检查德国爱慕乐?

1 个答案:

答案 0 :(得分:0)

对于那些也有此问题的人。 经过大量搜索(以及Microsoft的帮助),我找到了这篇文章 https://docs.microsoft.com/en-us/powershell/scripting/dev-cross-plat/vscode/understanding-file-encoding?view=powershell-5.1

它解释了很多有关编码问题。因此解决方案是将执行Umlaute检查的脚本存储在带有BOM的UTF8中

相关问题