VSCode中的Powershell终端编码

时间:2018-12-19 10:06:52

标签: powershell encoding visual-studio-code

我正在将VSCode编辑器用于Powershell脚本。而且我遇到了包含西里尔字符的路径问题。例如代码:

$users = 'C:\Users\Тестовый пользователь\Documents\userlist.csv'
foreach ($user in $users) {
    $u = Get-Content -LiteralPath $users
    Write-Host "Пользователь:" $u
}

返回错误:

  

找不到路径'C:\ Users \Ниармедк \ Documents \ userlist.csv“'   因为它不存在。

1 个答案:

答案 0 :(得分:0)

如果未使用BOM指定编码,Powershell将使用其默认编码(主要是ASCII)读取文件:Understanding default encoding and Change the same in PowerShell

VS Code在默认配置中未设置bom。为了避免在其他脚本中出现此问题,请在VS Code设置中添加以下选项:

{
    "files.encoding": "utf8bom",
    "files.autoGuessEncoding": true,
}

或者,您也可以更改c的powershell默认编码。