vs2010 控制台 输出 乱码
点运行中的 CMD.EXE 窗口左上角,出现菜单,选“属性”一看,“属性”中的“当前代码页”框框里写着这么一行:“437 (OEM - 美国)”,问题关键就是这里。
重新点出菜单,选“默认值”项,发现“默认值”里的“当前代码页”是可以设置,有两个选项:“437 (OEM - 美国)”和“936 (ANSI/OEM - 简体中文 GBK)”,将“当前代码页”设置为“936 (ANSI/OEM - 简体中文 GBK)”,点“确定”,没有发现一点反应。重运行一下“CMD.EXE”,发现问题依旧,“默认值”中“当前代码页”设置是“936 (ANSI/OEM - 简体中文 GBK)”,可是“属性”中“当前代码页”的设置还是“437 (OEM - 美国)”,输不了中文也显示不了中文。
所以问题在注册表。win+R打开运行,输入regedit打开注册表编辑器。找到[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
修改"CodePage"=dword:000003a8
问题解决~~~
【注】十六进制"000003a8"或十进制"936",表示“936 (ANSI/OEM - 简体中文 GBK)”。
十六进制"000001b5"或十进制"437",表示“437 (OEM - 美国)”。