我意识到我无法在 PowerShell 控制台中输入一些非 ASCII 字符,而这些字符在旧的命令执行程序并且应该得到所涉及的代码页的支持(这是西班牙语 Windows 版本,只有西班牙语作为键盘布局):
如果我输入
€
它会打印?
。当我按下回车键时我可以在错误消息中看到一个正常的欧元符号:如果我输入,
Á
它根本不会打印任何内容,但我可以á
正常打印。同样,我可以输入小写字母ñ
,但不能输入大写字母Ñ
。有趣的是,如果我使用剪贴板粘贴这些字符,我可以看到一些其中:
我尝试过的每台 Windows 10 PC 以及每一种 TTF 字体都出现过这种情况。
控制台代码页为 850:
[System.Console]::InputEncoding
和都[System.Console]::OutputEncoding
显示相同的输出:
IsSingleByte : True
BodyName : ibm850
EncodingName : Europa occidental (DOS)
HeaderName : ibm850
WebName : ibm850
WindowsCodePage : 1252
IsBrowserDisplay : False
IsBrowserSave : False
IsMailNewsDisplay : False
IsMailNewsSave : False
EncoderFallback : System.Text.InternalEncoderBestFitFallback
DecoderFallback : System.Text.InternalDecoderBestFitFallback
IsReadOnly : True
CodePage : 850
知道从哪里开始寻找吗?