在windows環(huán)境本昏,vscode+java擴展+spring擴展搭建Java開發(fā)環(huán)境時蛹尝,經常出現中文亂碼的問題镣奋。其實出現中文亂碼的問題币呵,通常是由于cmd或者powershell環(huán)境字符集和java源碼字符集不匹配導致。
windows環(huán)境默認字符集未GBK,而vscode編輯的Java源碼文件默認字符集是UTF-8余赢。
要解決亂碼問題芯义,只要保證Java運行時、powershell(或者cmd)以及Java源碼字符集保持一致就可以妻柒。
1扛拨、vscode啟動java程序時,指定-Dfile.encoding參數為UTF-8
1举塔、點擊vscode左側的“運行和調試”圖標:運行和調試
2绑警、選擇啟動項右側的設置圖標:
右側設置圖標
3、在右側編輯區(qū)域打開launch.json文件央渣,在啟動項中編輯encoding項的值:
{
"configurations": [
{
"type": "java",
"name": "Spring Boot-EurekaServerApp<eureka>",
"request": "launch",
"cwd": "${workspaceFolder}",
"mainClass": "com.example.eureka.EurekaServerApp",
"projectName": "eureka",
"args": "",
"envFile": "${workspaceFolder}/.env",
"encoding": "UTF-8"
}
]
}
如果配置項中沒有encoding配置項计盒,則添加該配置項。
2芽丹、設置powershell環(huán)境的字符集為UTF-8
1北启、點擊vscode左下角的設置圖標,選擇彈出菜單中的“設置”菜單項:設置
2拔第、點擊settings.json編輯器右上角的“打開設置(json)”按鈕咕村,打開settings.json編輯器:
打開設置圖標
3、在settings.xml文件中添加配置項:
{
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell",
"args": ["-NoExit", "/c", "chcp 65001"]
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe",
"args": ["-NoExit", "/c", "chcp 65001"]
],
"args": ["-NoExit", "/c", "chcp 65001"],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
}
}
}
在powershell配置項中添加args配置項楼肪,其中-NoExit是啟動后不自動關閉的意思培廓,chcp 65001是powershell后,將運行環(huán)境的字符集修改為UTF-8春叫,65001是windows環(huán)境UTF-8字符集的code page代碼肩钠。