簡體   English   中英

Visual Studio Code 集成終端中的錯誤變音字母與 PowerShell 在運行和運行選擇之間

[英]Wrong diacritic letters in Integrated Terminal of Visual Studio Code with PowerShell between Run and Run Selection

我有帶有 Windows-1250 編碼的 Windows 10,但在帶有集成終端的 Visual Studio Code 中,我遇到了變音符號的問題:

在此處輸入圖像描述

如您所見,同一命令的運行和運行選擇之間的編碼不同: write-host "Wspólny"我的 JSON 用戶配置為空,我已經嘗試了幾個小時,但沒有解決方案有幫助。 我想要 UTF-8 無處不在。

最可能的解釋:

  • 您正在運行Windows PowerShell ,它根據系統的活動 ANSI 代碼頁(在您的示例中為1250 )讀取其源代碼。

  • 相比之下,Visual Studio Code 默認創建無 BOM 的 UTF-8編碼文件。

  • 如果源代碼文件(或 Windows PowerShell 讀取的任何文本文件,例如使用Get-Content )中沒有 BOM,則假定為ANSI編碼,因此 UTF-8 文件被誤解

    • 具體來說,任何非 ASCII 字符的每個單獨字節——在 UTF-8 中總是被編碼為多字節序列——然后被解釋為 ANSI 字符。

    • 注意:這在 PowerShell (Core) 7+ 中不再是問題,它始終默認為 UTF-8,無論是在讀取 BOM-less 文件時還是在寫入文件時(BOM-less UTF-8)。

因此,解決方案是保存您的源代碼- 或您希望 Windows PowerShell 正確讀取的任何 UTF-8 文件 -作為ZAE3B3ZDF9970B5BC956727正確讀取。

您還需要為希望在 PowerShell 的兩個版本中正常運行的源代碼執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM