vscode+java开发环境中文乱码问题

在windows环境,vscode+java扩展+spring扩展搭建Java开发环境时,经常出现中文乱码的问题。其实出现中文乱码的问题,通常是由于cmd或者powershell环境字符集和java源码字符集不匹配导致。
windows环境默认字符集未GBK,而vscode编辑的Java源码文件默认字符集是UTF-8。
要解决乱码问题,只要保证Java运行时、powershell(或者cmd)以及Java源码字符集保持一致就可以。

1、vscode启动java程序时,指定-Dfile.encoding参数为UTF-8

1、点击vscode左侧的“运行和调试”图标:
运行和调试

2、选择启动项右侧的设置图标:
右侧设置图标

3、在右侧编辑区域打开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环境的字符集为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后,将运行环境的字符集修改为UTF-8,65001是windows环境UTF-8字符集的code page代码。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容