vscode終端輸出中文亂碼問題解決圖文教程
解決vscode終端輸出中文亂碼問題,強(qiáng)推方法二,少走幾年彎路
解決網(wǎng)上終端chcp65001仍然無效,或者vscode由utf-8改為GBK仍然無效的問題,提供了三個(gè)方案,c/c++設(shè)置通用
亂碼原因
因windows中文版系統(tǒng)cmd編碼默認(rèn)為GBK,而vscode默認(rèn)新建文件的編碼為UTF-8所以會(huì)出現(xiàn)中文亂碼情況
方法一(永久性)
將系統(tǒng)默認(rèn)編碼改為UTF-8,該方法需確保你的vscode編碼格式已為UTF-8(若之前未作修改默認(rèn)為UTF-8,不確定也可以看界面右下角,若不是也可自行更改,方法二中有介紹vscode編碼格式更改方法)
缺點(diǎn):系統(tǒng)設(shè)置更改,可能導(dǎo)致某些軟件亂碼,例如之前在gbk模式下載的caj文獻(xiàn)打不開,需重新下載
win鍵–設(shè)置–時(shí)間和語言–語言–管理語言設(shè)置–更改系統(tǒng)區(qū)域設(shè)置–勾選Beta版使用Unicode UTF-8提供全球語言支持
勾選Beta版使用Unicode UTF-8提供全球語言支持
?。?!更改系統(tǒng)設(shè)置時(shí)一定要重啟電腦,否則會(huì)隨機(jī)性報(bào)錯(cuò),可能會(huì)出現(xiàn)設(shè)置改完了但沒有生效的情況
重啟電腦后我們發(fā)現(xiàn)再次進(jìn)入系統(tǒng)cmd中輸入chcp顯示65001
此時(shí)更改成功,在vscode終端運(yùn)行不會(huì)亂碼
方法二(永久性)強(qiáng)力推薦!?。。。。。。。。?!
方法2(永久性)
更改vscode默認(rèn)編碼UTF-8為GBK,(該法需確認(rèn)系統(tǒng)編碼環(huán)境為GBK格式,cmd終端輸入chcp可以查看當(dāng)前系統(tǒng)默認(rèn)編譯器,65001代表UTF-8,936代表GBK;設(shè)置完仍需重啟vscode否則仍會(huì)出問題
缺點(diǎn):博主電腦對(duì)于首字符為漢字的字符串顯示仍亂嗎,但對(duì)于字符中夾雜中文則不會(huì)亂碼,而同門電腦則未遇到問題,博主未找到原因
?。。。。。。。。。。。。。。。。。。。。。。。。?022.11.24博主找到原因了,透透透,方法寫在方法二末尾附加部分
1已經(jīng)寫好的程序文件,通過右下角更改:
保存為GBK格式
重新運(yùn)行程序即解決亂碼問題,
2新建文件時(shí)我們發(fā)現(xiàn)右下角又會(huì)變?yōu)閡tf8,因此還需修改默認(rèn)新建文件和打開文件編碼方式
將此處的utf8改為gbk,即可使新建的文件均為gbk格式
附加(CMD修改成舊控制臺(tái))
博主使用方法三沒有出現(xiàn)中文亂碼情況,但是cin輸入中文時(shí)終端不顯示,最后在修改系統(tǒng)終端的過程中解決了方法二輸出字符串首字符為中文就報(bào)錯(cuò)的情況?。。。ㄆ陂g博主轉(zhuǎn)用visual studio2012,無需設(shè)置任何編碼格式,也無需配置編譯環(huán)境,即使中文亂碼修改控制臺(tái)為舊控制臺(tái)即可解決所有問題。確實(shí)比vscode簡單,但是編譯器太原始,寫代碼不舒服,還是回到了vscode,實(shí)在新手小白不愿意配置環(huán)境可以使用visual studio,想高效書寫查看代碼還是建議vscode)
如圖,博主使用方法二,將vscode編碼格式設(shè)為gbk,終端編碼格式為默認(rèn)值,仍為gbk,但是對(duì)于首字符為中文的字符串仍然亂碼,而只要首字符非中文還是不會(huì)亂碼的
解決方案
win+R輸入cmd進(jìn)入系統(tǒng)終端,記住是系統(tǒng)終端不是vscode的虛擬終端!
在終端上邊框空白處右鍵進(jìn)入“”屬性“”(右鍵黑色處無效哦)
勾選啟用舊版控制臺(tái),然后確認(rèn)后關(guān)閉終端,重啟vscode重新運(yùn)行就OK了
可以看到,之前所有問題迎刃而解,中文不亂碼,cin也能接受中文字符并顯示
該法同樣適用cout中文亂碼,printf正常
方法三(臨時(shí)性)
vscode仍默認(rèn)編碼保存編碼方式UTF-8,在vscode終端輸入chcp 65001手動(dòng)調(diào)節(jié)虛擬終端編碼為UTF-8(注:vscode啟用的是虛擬終端,不會(huì)更改系統(tǒng)設(shè)置,即win+r再cmd進(jìn)入的終端顯示的活動(dòng)代碼不會(huì)改變)
缺點(diǎn):因該法改變的是虛擬終端的編碼格式為一次性,在重啟vscode或者重新打開項(xiàng)目文件時(shí)需重新再vscode的虛擬終端輸入chcp 65001
博主一開始用的是方法1沒問題,后在查看知網(wǎng)caj文件時(shí)出現(xiàn)問題,轉(zhuǎn)用同門推薦方法2,離奇的事出現(xiàn)了,他沒問題,我就是亂碼,后發(fā)現(xiàn)在我電腦上只要首字符非中文就不會(huì)亂碼,最后博主使用了方法三親測(cè)有效,但一定要注意把vscode的設(shè)置還原成默認(rèn)的utf-8
博主在使用cin輸入時(shí)又出現(xiàn)了中文不顯示,最后通過修改系統(tǒng)CMD設(shè)置得以解決
未更改前中文亂碼
vscode虛擬終端輸入chcp 65001
顯示激活65001,意思就是已將虛擬終端的編碼格式設(shè)為UTF-8
此時(shí)run code不再亂碼
如果之前嘗試了其他方法調(diào)亂了不要著急:
cmd終端chcp可以查看當(dāng)前系統(tǒng)默認(rèn)編譯器,65001代表UTF-8,936代表GBK;
vscode界面右小角會(huì)顯示當(dāng)前代碼文件的編碼格式
二者統(tǒng)一即可,均為GBK或均為UTF-8均可
總結(jié)
到此這篇關(guān)于vscode終端輸出中文亂碼問題解決的文章就介紹到這了,更多相關(guān)vscode終端輸出中文亂碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
windows下Idea使用git clone failed. Could not read from remote r
這篇文章主要介紹了windows下Idea使用git clone failed. Could not read from remote repository.,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09git克隆遠(yuǎn)程倉庫的指定分支方法(附常用git配置命令)
這篇文章主要介紹了git克隆遠(yuǎn)程倉庫的指定分支方法(附常用git配置命令),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07unity下載并和vs2019關(guān)聯(lián)的步驟詳解
這篇文章主要介紹了unity下載并和vs2019關(guān)聯(lián)的步驟,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Postman傳遞對(duì)象參數(shù)(包含有集合對(duì)象)
postman通常需要傳遞各式各樣的參數(shù),本文主要介紹了Postman傳遞對(duì)象參數(shù)(包含有集合對(duì)象),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01HTML轉(zhuǎn)義字符&npsp;表示non-breaking space \xa0
HTML轉(zhuǎn)義字符&npsp;表示non-breaking space,unicode編碼為u'\xa0',超出gbk編碼范圍,這里就為大家分享一下2020-02-02