There is a different InputEncoding used by VS Code PowerShell console vs. the console outside of VS Code. What are the differences and/or pitfalls that might occur because of this?
PS C:\Users\lit> $PSVersionTable.PSVersion.ToString()
7.2.1
PS C:\Users\lit> $Host
Name : Visual Studio Code Host
Version : 2021.11.1
InstanceId : fb65bead-b049-4ac8-befd-54df023771fd
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-US
CurrentUICulture : en-US
PrivateData :
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
PS C:\Users\lit> [console]::InputEncoding
Preamble :
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
WindowsCodePage : 1200
IsBrowserDisplay : True
IsBrowserSave : True
IsMailNewsDisplay : True
IsMailNewsSave : True
IsSingleByte : False
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : False
CodePage : 65001
However, from a command console outside of VS Code:
PS C:\src\t> $PSVersionTable.PSVersion.ToString()
7.2.1
PS C:\src\t> $host
Name : ConsoleHost
Version : 7.2.1
InstanceId : 41168572-6825-4b84-897a-77432d0a20a3
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-US
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
PS C:\src\t> [console]::InputEncoding
IsSingleByte : True
EncodingName : OEM United States
WebName : ibm437
HeaderName : ibm437
BodyName : ibm437
Preamble :
WindowsCodePage :
IsBrowserDisplay :
IsBrowserSave :
IsMailNewsDisplay :
IsMailNewsSave :
EncoderFallback : System.Text.InternalEncoderBestFitFallback
DecoderFallback : System.Text.InternalDecoderBestFitFallback
IsReadOnly : True
CodePage : 437