此代码
$text = "Überflieger"
$text.ToLower()
if($text.ToLower().Contains('ü')) {
Write-Host 'True'
} else {
Write-Host 'False'
}
显示为结果
ãœberflieger
False
这是错误的。 来源是CSV。因此,不能保证字母是UTF8编码的。如何使用Powershell正确检查德国爱慕乐?
答案 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中