今年的两个Win 10更新一个比一个垃圾。上半年的1803更新毛病一堆,恶评不断。不过还好我的电脑上跑了那么长的1803更新,并没有出什么太大的毛病。没出什么毛病那就算了,坐等微软在下个更新中把bug修复就是了。
几个月后,微软终于推送了下半年的1809更新。和这个更新相比,1803更新里面的那堆bug根本算不了什么……
更新推送了没几天,就有用户反映,更新之后users
文件夹里面的文件都没了。由于这个问题挺严重的,微软就暂时撤去了1809的推送和更新。
前不久听说微软把1809更新的那个用户文件丢失bug给修复了,就决定来用用新版本。更新完后用了用感觉新版本似乎没什么问题,就把C盘里面的Windows.Old
文件夹删了,从此告辞1803。
然而用上1809更新的第二天我就体验到了一个bug——控制台中的字符有时会乱码。
1.bug现场
我们来用C++写个小程序看看控制台乱码的现象。
#include "iostream" #include "cstdio" using namespace std; int main() { printf("乱码TAT!999\n"); printf(" 乱码TAT!666\n"); std::cout<<"乱码TAT!333"<<std::endl; std::cout<<" 乱码TAT!000"<<std::endl; return 0; }
用CLion编译运行上面的程序,控制台上的运行结果是这样的:
好像只有在用cout来输出内容,并且输出的第一个字符不能是中文,才不会显示乱码。
顺带一提,换个IDE(例如VS和Dev-CPP)编译运行这个程序,运行结果一样。
所以可以确定控制台字符乱码就是1809更新的bug……(╯‵□′)╯︵┻━┻
2.解决方法
既然微软官方一时半会儿不会来修复这个bug,那只能自己来想想办法解决咯。
2.1.回退1803版本
如果你实在受不了目前还不怎么稳定的1809,并且没有删掉C盘里面的Windows.Old
文件夹,那就干脆回退到1803版本吧。
回退版本的操作很简单。首先按下Win+I
组合键打开Windows设置窗口,依次点击“更新和安全”->“恢复”->“回退到Windows 10的上一个版本”一栏的“开始”,即可进行版本回退。
残念的是我早就把那个文件夹给删了。回退,还是别想了。_(:з)∠)_)
2.2.修改控制台属性
就算不回退版本或者重装系统,还是有办法解决乱码问题的。既然升级1809之后控制台出了问题,那就用旧版的控制台好了。
首先按下Win+R
组合键打开运行窗口,输入“cmd”并回车以启动命令提示符。在命令提示符上端的窗口栏处点击鼠标右键,在菜单中点击“属性”。
接着在弹出的属性设置窗口中勾选上“使用旧版控制台”选项,勾选完毕之后点击确定保存。
现在再来运行一遍程序,输出结果总算正常了。
3.个人吐槽
微软今年的表现真的不咋样啊。发布的两次大更新毛病一次比一次多,有时真的忍不住想强行把系统更新给关了。
目前为止除了这个控制台字符乱码问题之外,我暂时没有遇到其它的1809更新的bug。只求不要过个几天又遇到新的bug……
还是那句老话,Arch Linux滚动更新会滚挂,Windows版本更新也会更出bug。谨慎更新,不然更出了问题就得烦个半天。
2 Comments
cch 博主
淦 辣鸡微软…我找了几天解决方案 还以为是我重装的问题
Omega 博主
@cch
微软这次的系统更新是真的体验很差了,到现在还没修复这个bug。