Steps to reproduce
I have a Windows executable that produces unicode (utf-16) output. In PowerShell 5.1, I can set the [Console]::OutputEncoding property so the output of that command gets correctly interpreted. On PowerShell Core 6.2.3, that doesn't appear to work.
I've also tried setting [Console]::InputEncoding and $OutputEncoding, but the problem persists.
For example, I use the wsl.exe binary here, so this should repro on any system that has the Windows Subsystem for Linux installed.
[Console]::OutputEncoding = [System.Text.Encoding]::Unicode
wsl.exe --list -v | ForEach-Object { $_ }
Expected behavior
PS C:\Users\svgroot> [Console]::OutputEncoding = [System.Text.Encoding]::Unicode
PS C:\Users\svgroot> wsl.exe --list -v | ForEach-Object { $_ }
NAME STATE VERSION
* Ubuntu Stopped 2
Ubuntu-18.04 Stopped 2
Alpine Stopped 1
Actual behavior
PS C:\Users\svgroot> [Console]::OutputEncoding = [System.Text.Encoding]::Unicode
PS C:\Users\svgroot> wsl.exe --list -v | ForEach-Object { $_ }
N A M E S T A T E V E R S I O N
* U b u n t u S t o p p e d 2
U b u n t u - 1 8 . 0 4 S t o p p e d 2
A l p i n e S t o p p e d 1
Environment data
Name Value
---- -----
PSVersion 6.2.3
PSEdition Core
GitCommitId 6.2.3
OS Microsoft Windows 10.0.19001
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Steps to reproduce
I have a Windows executable that produces unicode (utf-16) output. In PowerShell 5.1, I can set the [Console]::OutputEncoding property so the output of that command gets correctly interpreted. On PowerShell Core 6.2.3, that doesn't appear to work.
I've also tried setting [Console]::InputEncoding and $OutputEncoding, but the problem persists.
For example, I use the wsl.exe binary here, so this should repro on any system that has the Windows Subsystem for Linux installed.
Expected behavior
Actual behavior
Environment data