今天做老师布置的作业时,我的VS2019突然出现了乱码。
我意识到这并不是普通的乱码,果然修改源文件编码没有效果。
之后尝试了长时间重置用户配置、修复、重装后问题依然没有解决。气急败坏的我拿起我的另一台新电脑,安装了VS2019,一点一点地对比不同。
最后我发现了一点不一样的地方。
就是这个CodePage,我的新电脑的936(GB2312)是显示正常的,然后旧电脑的65001(UTF-8)是乱码的。所以问题就在这里吧,接下来就是如何把代码页修改回936的问题了。
修改代码页
控制台的代码页可以用dhcp来修改,比如要改成GB2312就是chcp 936。
然鹅,修改完控制台代码页后控制台的代码页是改过来了,但是VS2019的调试控制台仍然是65001(吐血)。
之后我又查找了各种网上的资料,甚至用上了英文,还是没有找到方法。
于是,我换了一种思路,控制台的代码页可能是由注册表控制的。于是,我便查找了如何用注册表方法修改代码页。
不得不说我的运气真是太好了,刚打开那个文件夹就看到了cmd附近的Visual Studio显眼的大字。
那么解决办法就有了。
解决办法
打开注册表编辑器(regedit)找到“计算机\HKEY_CURRENT_USER\Console\”文件夹下的与Visual Studio相关的文件夹,把Codepage项的值(65001)改成936就可以了。
测试
经过测试,调试控制台的代码页已经为936,并且乱码问题也已经恢复了。
研究了一个多小时了,希望我踩的坑能帮助到各位。