日期:2014-05-17  浏览次数:21433 次

Console.WriteLine打印中文为何出乱码?
我的win7+vs2012都是英文版,然后

Console.WriteLine("win32调用

在cmd窗口把"调用"两个字打印为??

我想知道,既然windows内核与.net framework都是unicode的实现,为何输出中文还会有问题呢?
我在系统上用中文输入法/文件名用中文都没有什么问题啊。

------解决方案--------------------
因为你当前环境代码页是437,是美国英语的字符编码
你把你环境设置成936就是简体中文字符编码环境了

//你当前的是这个
Console.OutputEncoding = Encoding.GetEncoding(437);
//设置成这样就支持中文编码了
Console.OutputEncoding = Encoding.GetEncoding(936);