win10更新1809版本後執行Dev-cpp, dos控制檯字元亂碼解決方法
微軟:請勿安裝windows10 1809版本,有bug會刪除個人檔案
雖然微軟非常利索的在釋出會後及時推送了新的windows10新版本,但自從推送後,諸多問題層出不窮。之前使用者曾表示1809版本windows 10的工作管理員存在CPU使用率錯誤顯示的問題。
不過,可能是微軟釋出的太過於匆忙,1809版本已被發現非常嚴重的bug。有使用者反饋稱由於1809的推送,自己電腦的user個人資料夾丟失了近十年積攢下的檔案,這個問題也不是孤例,已經不止一個使用者反饋了這一嚴重的bug。
微軟已在此前暫停並撤去了1809的推送和更新,並已撤下官網的新版宣傳頁面,並在顯著位置對此事做了說明。說明中敘述了該問題,並表示,如果使用者確定在更新系統後丟失了個人檔案,請儘量減少使用受到影響的裝置,並於當地的微軟服務中心取得聯絡。
微軟還表示,會為使用者提供專門的修復工具,並不建議使用者使用其他的第三方工具恢復,以免對原硬碟的結構造成破壞。
正如眾多網友表示,1809可以說是bug最多的版本了,這背後也是微軟業務中心的表現。
18年4月,微軟進行了納德拉上任CEO以來最大的一次業務重組,這次重組解散了原來的Windows和硬體裝置部門(WDG),併成立了兩個新的部門——“體驗和裝置部門”和“雲端計算和人工智慧平臺部門”。微軟業務重心變為“雲端計算”和“人工智慧”。
不過上面 並不是我今天要講的。
今天講Dos控制檯亂碼解決方法。
(一)Dos命令視窗亂碼問題
測試工具:
Dev-cpp 5.11
TDM - GCC 4.9.2 64-bit
測試程式碼如下(一):
#include<iostream> using namespace std; #include<stdio.h> //#pragma execution_character_set("GBK") int main(){ fprintf(stdout, "This is a test.\n"); //顯示正常 fprintf(stdout, "你好!123abc\n"); //顯示 [??????123abc] 對後面的字元輸出沒有影響 printf("你好!123abc\n"); //顯示 [??????123abc] printf(" 你好!123abc\n"); //顯示 [ ??????123abc] /* cout<<"你好!123abc"<<endl; /* 顯示 [?愫茫?23abc] 注:會使後面的cout語句無效 cout1,cout2,cout3。對system("type 檔案路徑")和開啟txt裡的內容無影響 */ cout<<"n你好!123abc"<<endl;// cout1 cout的內容,英文字母開頭加中文,顯示正常 cout<<" 你好!123abc"<<endl;// cout2 cout的內容,空格開頭加中文,顯示正常 cout<<endl;// cout3 system("type C:\\Users\\Bingooo\\Desktop\\你好12345.txt"); return 0; }
測試結果(二):
分析:
1、cout後跟的內容,如果直接以中文開頭,會亂碼,如果用“字元+文字” ,顯示正常,字元可以是空格。
(比較敷衍地解決辦法之一,並不能達到目的!)
2、首先找問題原因:
在visual studio測試相同程式碼,全部顯示正常。
在虛擬機器裡新安裝的一個win10 1809的系統,測試結果,同上。亂碼!
在虛擬機器裡的win 10, 1803版本,正常!!!!找到問題了! !!win10 1809的 BUG !
3、找到了問題不行啊,還要找到解決辦法啊!
4、網上嘗試很多解決辦法,都沒有解決。
(二)下面附上兩個比較有效的辦法:
方法一:重灌系統!1803的最新官方正版,不做敖述。簡單粗暴,十分有效!推薦在1809穩定之後,再升級系統。
如果有檔案想保留,並且開啟C盤能看到Windows.old資料夾,可以直接回退。
但是話說回來,遇到問題就重灌系統,豈不感覺水平太low!
方法二:更改控制檯屬性。如下圖:
在視窗欄上右鍵 - 屬性 - 勾選 使用舊版控制檯 - 重啟。解決!
(不過舊版控制檯是醜了點,沒辦法~)
雖然Windows 10四月更新版釋出後已經出現嚴重問題,但相比剛剛釋出的新版本那四月更新版算是小兒科。因為微軟在新版本里直接跳過釋出預覽通道,該通道原本是被設計用於測試生產環境的構建提高版本穩定性。如果你關注Windows 10資訊會發現這次微軟沒有推送釋出預覽版,從慢速通道測試完畢後直接釋出正式版。或許說測試完畢都不算是準確的,因為慢速通道的Build 17763.1 還存在已知問題但依然被作為RTM正式版。和四月更新版那樣只要使用者點選檢查更新那就會自動下載新版本,即便還存在問題的情況下都會下載和升級。
所以不論什麼更新,請謹慎!