You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 11中设置非Unicode程序代码页为1252,但终端仍默认使用CP 850的问题咨询

Windows 11中设置非Unicode程序代码页为1252,但终端仍默认使用CP 850的问题咨询

大家好,我碰到一个挺奇怪的Windows代码页设置问题,想跟各位请教下:

  • 我在Windows 11设备上,通过运行intl.cpl打开区域设置面板,把非Unicode程序的语言设置成了意大利语。按预期这类程序应该会使用代码页1252,实际情况也确实如此——像WinMerge、WordPad这类应用都会自动识别为1252,西语系的重音字符显示都很正常。

  • 但终端类应用却完全不按这个逻辑来:不管是Windows Terminal、cmd.exe还是TCC/LE,启动后默认的代码页都是CP 850(DOS多语言拉丁语1),重音字符显示完全不对。虽然我可以手动在每个控制台里执行CHCP 1252来切换代码页,但这种默认设置不一致的情况实在让人费解。

更有意思的是,我在cmd.exe或者TCC/LE里启动bash后,重音字符显示倒是正常了,但退出bash回到原来的命令行时,发现代码页被自动改成了CP 858——可这个代码页也不包含1252里的那些重音字符啊…

有没有大佬能解释下这背后的原因,或者有没有办法让终端默认就使用1252代码页呢?

备注:内容来源于stack exchange,提问作者LuC

火山引擎 最新活动