Prerequisites
Steps to reproduce
When executing commands like:
echo 中文文本 | more
the output is garbled (涓枃鏂囨湰) because PowerShell's default $OutputEncoding is UTF-8, but native Windows console tools expect the console encoding (e.g. GB2312).
To improve compatibility, it is recommended that PowerShell by default sets:
$OutputEncoding = [System.Console]::OutputEncoding
unless the user explicitly overrides it. Because after executing $OutputEncoding = [System.Console]::OutputEncoding, commands like echo 中文文本 | more work correctly without garbled output.
This change would prevent common encoding mismatches in pipelines and improve interoperability with native Windows console tools.
Expected behavior
Actual behavior
Error details
Environment data
Name Value
---- -----
PSVersion 7.5.2
PSEdition Core
GitCommitId 7.5.2
OS Microsoft Windows 10.0.26100
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Visuals

Prerequisites
Steps to reproduce
When executing commands like:
echo 中文文本 | morethe output is garbled (涓枃鏂囨湰) because PowerShell's default $OutputEncoding is UTF-8, but native Windows console tools expect the console encoding (e.g. GB2312).
To improve compatibility, it is recommended that PowerShell by default sets:
$OutputEncoding = [System.Console]::OutputEncodingunless the user explicitly overrides it. Because after executing
$OutputEncoding = [System.Console]::OutputEncoding, commands likeecho 中文文本 | morework correctly without garbled output.This change would prevent common encoding mismatches in pipelines and improve interoperability with native Windows console tools.
Expected behavior
Actual behavior
Error details
Environment data
Visuals