如何使用 bash 中运行的 cmd.exe 来修复重音编码?

如何使用 bash 中运行的 cmd.exe 来修复重音编码?

我安装了https://www.msys2.org/并设置一个ssh 服务器为它。有了这个,我可以连接到我的机器并远程工作。问题是某些应用程序(如 Visual Studio 工具或 Windows 特定cmd.exe程序)无法从bash.exeshell 运行。然后,我cmd.exe在我的 shell 中嵌套一个 shellbash.exe来运行这些应用程序(我还使用它winpty.exe来映射输入箭头键https://github.com/rprichard/winpty)。

这种设置的问题是重音字母显示为_,例如,运行命令cp -h,我触发了一个错误,显示一条消息,其中单词informações显示为informa___oes

在此处输入图片描述

我不确定为什么会发生这种情况。我知道我的cmd.exe控制台使用了编码,850因为当我chcp在新的 shell 中运行时,它会输出850。我尝试将其值更改为125265001,但它一直显示重音字母_

在此处输入图片描述

我搜索了这个 850 编码,我发现https://en.wikipedia.org/wiki/Code_page_850,其中它被称为。如果我在将命令提示符嵌套在其中之前DOS Latin 1将 bash 编码设置为 ,是否可以解决此问题?我如何将我的编码设置为此或编码?DOS Latin 1cmd.exebash.exeCP 850DOS Latin 1

相关内容