日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

vscode终端中文乱码问题的解决方案合集c++

發(fā)布時(shí)間:2023/12/31 c/c++ 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vscode终端中文乱码问题的解决方案合集c++ 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

vscode終端中文亂碼問題的解決方案合集c++

  • 解決思路:
  • 解決方法:
    • 1.修改系統(tǒng)區(qū)域設(shè)置
    • 2.修改編輯器默認(rèn)編碼
    • 3.改變vscode終端編碼
    • 4.修改vscode終端默認(rèn)編碼
    • 6.修改tasks.json

解決思路:

亂碼的出現(xiàn)一般是由于編碼錯(cuò)誤。在編輯器上正確顯示的中文字符,卻在終端編譯出現(xiàn)亂碼,這一般是因?yàn)関scode編輯器默認(rèn)編碼utf-8,而終端使用了gbk編碼。總之出現(xiàn)亂碼基本就是編碼沒對(duì)。另外這些方法一般是在vscode集成的終端中進(jìn)行調(diào)試的。(但實(shí)際上我是真的分不清那些是integrated那些是 external,反正就是在那個(gè)地方,集成在vscode上而不是額外的命令控制臺(tái)窗口)

解決方法:

1.修改系統(tǒng)區(qū)域設(shè)置

這應(yīng)該是最容易搜索到的方法。在win10系統(tǒng)下使用組合win+r輸入control打開控制面板,依次選擇時(shí)鐘和區(qū)劃–區(qū)域–管理–更改系統(tǒng)區(qū)域設(shè)置,勾選 “Beta 版:使用…” ,最后根據(jù)提示重新啟動(dòng)。

這個(gè)方法弊端很明顯,這樣修改原來使用gbk編碼的文件打開就會(huì)亂碼,某些游戲打字也會(huì)出現(xiàn)錯(cuò)誤。

參考:https://blog.csdn.net/weixin_40040107/article/details/103721554

2.修改編輯器默認(rèn)編碼

這是第二種容易找到的方法。主要是將vscode編輯器的文字編碼改為gbk。點(diǎn)擊編輯器右下的UTF-8,再找到頂部搜索欄通過編碼重新打開,選擇 Simplified Cninese(GB 2312) 編碼。

參考:https://blog.csdn.net/qq_39400113/article/details/107908848

當(dāng)然也可以修改編輯器默認(rèn)編碼為gbk,參考下面這篇文章的第二種方法。

參考:https://blog.csdn.net/weixin_43745075/article/details/106291285

又或者你從其它地方找來的代碼編碼為UTF-8,那你可以試試vscode的GBKtoUTF8插件

參考:https://blog.csdn.net/sinat_27985193/article/details/105228725

3.改變vscode終端編碼

在vscode終端 輸入chcp 可以查看當(dāng)前編碼,一般powershell為UTF-8,cmd為gbk。
接著輸入 chcp 65001 ,將編碼改為UTF-8(因?yàn)榇a為UTF-8編碼)。之后就可以運(yùn)行編譯,鏈接成功的.exe文件。雖然是一次性的。

參考:https://blog.csdn.net/weixin_43745075/article/details/106291285

實(shí)際在編譯成功后"shift+ctrl+c"可以喚出默認(rèn)配置的終端,默認(rèn)是powershell。那么按照相似的操作也可以運(yùn)行程序。
ps:輸入cls可以清屏,這一點(diǎn)cmd和powershell是一致的。

4.修改vscode終端默認(rèn)編碼

這個(gè)方法運(yùn)行調(diào)試時(shí)在集成終端運(yùn)行。代碼的內(nèi)容主要是修改了集成終端的編碼格式。
在vscode中依次打開 文件 首選項(xiàng) 設(shè)置 在 setting.json 中編輯。
之后將以下代碼粘貼并保存。

"terminal.integrated.profiles.windows": {"PowerShell": {"source": "PowerShell", //一般推薦使用powershell"overrideName": true,"args": ["-NoExit", "/c", "chcp 65001"],"icon": "terminal-powershell","env": {"TEST_VAR": "value"}}},"terminal.integrated.defaultProfile.windows": "PowerShell",

所有setting.json都是一樣的,實(shí)際也只有一個(gè)setting.json。在vscode中要還原默認(rèn)設(shè)置只需要?jiǎng)h除setting.json中的內(nèi)容
參考:https://blog.csdn.net/lzyws739307453/article/details/89823900

注意 如果你需要使用 tasks.json ,而且里面需要用到 “type”: “shell” ,會(huì)在終端顯示這個(gè) 參數(shù)格式不正確 - -Command。我的方法是直接注釋掉這一行。

參考:https://www.zhihu.com/question/318656467具體參見這個(gè)問題里"樹影"答主的回答。

5.修改注冊(cè)表
這個(gè)方法就比較偏了,但是能解決另一種情況。

推薦vscode C++環(huán)境配置博客 https://www.cnblogs.com/baihualiaoluan/p/10661669.html

首先如果你配置c++環(huán)境的時(shí)候是按照如上鏈接類似方法配置的,并且在laouch.json中有如下代碼

"externalConsole":true,//修改此項(xiàng),讓其彈出終端

那么這個(gè)彈出的命令控制臺(tái)的編碼無法通過以上3,4方法改變,改cmd的注冊(cè)表也不行(方法1確實(shí)可以,畢竟是全局影響)。

這時(shí)候先編譯好.cpp文件, 找到對(duì)應(yīng).exe文件目錄并復(fù)制 ,之后使用 win+r 組合鍵輸入 regedit 進(jìn)入注冊(cè)表,打開
計(jì)算機(jī)\HKEY_CURRENT_USER\Console 目錄,新增 項(xiàng) x:_文件路徑_執(zhí)行文件名.exe,新建DWORD(32位),參數(shù)65001(在十進(jìn)制下)。


這時(shí)候UTF-8的代碼就可以正確運(yùn)行了。

ps:另外如果要修改cmd的默認(rèn)編碼,一般搜索到的結(jié)果都是讓添加autorun。其實(shí)可以在計(jì)算機(jī)\HKEY_CURRENT_USER\Console目錄下直接新建%SystemRoot%_system32_cmd.exe項(xiàng),并以相同的方式新建CodePage,來修改默認(rèn)編碼。這種方式的區(qū)別在于的確是默認(rèn)編碼,而不是自動(dòng)執(zhí)行命令。

參考:https://blog.csdn.net/seraph0321/article/details/86411453

6.修改tasks.json

與第5種方法情況一樣,但這種方法只需要在tasks.json的args項(xiàng)下添加一行"-fexec-charset=gbk"即可

"args": ["-fexec-charset=gbk","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],


這個(gè)時(shí)候,雖然我的代碼是UTF-8,彈出的命令提示窗口任是GBK編碼,但任然正確輸出了。~真正的高效,優(yōu)雅。

參考:https://blog.csdn.net/weixin_43802844/article/details/111170738

總結(jié)

以上是生活随笔為你收集整理的vscode终端中文乱码问题的解决方案合集c++的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。