当前位置: 首页 > news >正文

vscode java环境中文乱码的问题

先说我的结论:

由于我的系统是windows的,所以vscode使用的是默认gbk的编码进行的。
但是我的目的是全部都使用utf-8,因为我的程序始终是要去linux上去运行的,总不能在本地是好的,然后到服务器上就不行了吧,所以,我就没有把方向往gbk方向上去改。

文件编码编译指定编码控制台输出显示编码结果
utf-8gbkutf-8sys输出正常
内存日志打印乱码
utf-8utf-8gbksys输出正常
内存日志打印乱码
utf-8utf-8utf-8正常

文件编码

可以看vscode 右下角状态栏,如果不知道打开的话在窗口视图里面找找,实在不行就网上找找其他帖子。

编译指定编码

launch.json

{
    "configurations": [
        {
            "type": "java",
            "name": "Application",
            "request": "launch",
            "mainClass": "com.wbu.Application",
            "vmArgs": "-Dfile.encoding=UTF-8",
            "projectName": "wbucat"
        }
    ]
}
# 能够在启动命令中看到 '-Dfile.encoding=UTF-8' 代表配置成功
& 'C:\Program Files\Java\jdk1.8.0_361\bin\java.exe' '-Dfile.encoding=UTF-8' '-cp' 'C:\Users\THISIS~1\AppData\Local\Temp\cp_8ppcgvjhttmwnc3xoixn0jep3.jar' 'com.wbu.Application' 

控制台输出显示编码

settings.json

{
    "terminal.integrated.defaultProfile.windows": "PowerShell",
    "terminal.integrated.profiles.windows": {
        "Command Prompt": {
            "path": "cmd.exe",
            "args": ["/K", "chcp 65001 >null"]
        }
    },
    "terminal.integrated.defaultProfile.windows": "Command Prompt"
    // "terminal.integrated.profiles.windows": {
    //     "PowerShell": {
    //         "source": "PowerShell",
    //         "args": ["-NoExit","/c","chcp 65001 >null"], // 强制UTF-8
    //         "overrideName": true,
    //         //"path": "C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe"
    //         //"path": "powershell.exe"
    //     }
    // },
    // "terminal.integrated.defaultProfile.windows": "PowerShell",
}

我配置的是电脑cmd的命令窗口,电脑的命令窗口还有一个powershell。一般来说vscode控制台前面有一个 “PS ”,一般就是powershell。

我的电脑在配置powershell显示的时候一直没有成功,可能有两个原因

  1. powershell 需要管理员权限。
  2. 配置powershell的配置信息写错了。

注:在调试的过程中我发现settings.json 中的某一些参数如果配置错了的话,其实程序还是可以启动,也不会报错。例如:我曾经把boolean 值填成了3,程序还是可以启动。我预计应该是不会生效,这些填错了的参数。

相关文章:

  • 本地AI可视化集成工具-开源的AnythingLLM
  • 每日一题——两数之和
  • OpenHarmony DFX子系统
  • 【组态PLC】基于三菱西门子S7-200PLC和组态王液料混合系统组态设计【含PLC组态源码 M016期】
  • DeepSeek R1满血+火山引擎详细教程
  • PyTorch 源码学习:GPU 内存管理之深入分析 CUDACachingAllocator
  • PINN求解固体力学问题——论文加代码
  • php 对接mqtt 完整版本,订阅消息,发送消息
  • vue实现根据点击或滑动展示对应高亮
  • 【Rust中级教程】2.10. API设计原则之受约束性(constrained) Pt.1:对类型进行修改、`#[non_exhaustive]`注解
  • QT中的事件
  • 基于Java+SpringBoot+Vue的前后端分离的租房网站
  • Shell基础
  • 2011-2019年各省人口数数据
  • vue3动态引入图片
  • 前端依赖nrm镜像管理工具
  • 软考程序员考试内容和备考策略
  • 补充:文件上传、下载传输给前端之直接传递图片二进制数据:网络中的图片、音频、视频等非字符数据的传输
  • 港科大提出开放全曲音乐生成基础模型YuE:可将歌词转换成完整歌曲
  • 每日Attention学习24——Strip Convolution Block
  • 中方拟解除对5名欧洲议会议员制裁?外交部:望中欧立法机构相向而行
  • 李开复出任福耀科技大学理事会理事,助力学校AI战略
  • 东风着陆场近日气象条件满足神舟十九号安全返回要求
  • 工行一季度净赚841亿元降3.99%,营收降3.22%
  • 出行注意防晒补水,上海五一假期以多云天气为主最高33℃
  • 外交部亚洲司司长刘劲松向菲方严肃交涉