.NET 中文程序遇到英文操作系统,控制台输出乱码

hmister
2023-02-17 / 0 评论 / 285 阅读 / 正在检测是否收录...

当我们在国内编写的程序,遇上英文的操作系统,输出的日志全是 ??? ? 。输出的一切内容全变成乱码,这就很让人头大 ? ,很不方便调试。为了让开发调试变的顺利,我找到了下面的解决办法。此办法可能不是唯一的解决的方案,但至少我验证过他是可以解决的,并且我正在使用 ?

因为我使用的是控制台程序,部署到英文操作系统后,我发现他的页面编码格式变为了 407 (OEM-美国) 看到这个我就知道了他很不对劲,果然出现乱码 ? 。

我的解决办法很简单,就是在程序运行的时候改变其页面的编码格式,然后就解决了。具体代码如下:

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Console.OutputEncoding = Encoding.GetEncoding("GB2312");

当我加上这两行代码后,再次运行程序,发现页面编码格式就变成 936 (ANSI/OEM-简体中文GBK) 。看到这个就说明问题已经解决了 ?

0

评论 (0)

取消