rookie-java 2024-09-07 15:46 采纳率: 100%
浏览 15
已结题

提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境

代码链接:https://pan.baidu.com/s/1ty4CzDEX1_l0XbpzY8rs8g?pwd=iktj
提取码:iktj

为什么我在idea可以正确输出中文,但是在vscode输出的时候是个乱码的问号,我在后台的设置已经把编码变成utf8了,但还是这样,我应该在vscode怎么设置才能变成像idea那样?(代码是b站上面黑马程序员的java教程上面的感觉没什么逻辑上的问题,就是不知道为什么vscode要怎么配置环境才能让我插入学生信息的让学生信息的中文姓名显示出来,而不是❓)我真的不懂怎么 配vscode这个环境😭

img

img


不想打开链接的话可以直接看一下代码:
学生类代码:

public class Student {
    private String name;
    private String id;
    private int age;
    private String homeAddress;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getHomeAddress() {
        return homeAddress;
    }
    public void setHomeAddress(String homeAddress) {
        this.homeAddress = homeAddress;
    }
    public Student(String name, String id, int age, String homeAddress) {
        this.name = name;
        this.id = id;
        this.age = age;
        this.homeAddress = homeAddress;
    }
    public Student(){
        
    }

}


import java.util.ArrayList;
import java.util.Scanner;

public class StudentSystem {
    public static void main(String[] args) {

        
    // 添加一个列表用于存储对象
    ArrayList<Student> list = new ArrayList<>();



    loop:while (true) {
        System.out.println("________欢迎来到学生管理系统_______");
        System.out.println("1:添加学生");
        System.out.println("2.删除学生");
        System.out.println("3.修改学生");
        System.out.println("4.查询学生");
        System.out.println("5.退出");
        System.out.println("请输入你的选择:");

        Scanner sc = new Scanner(System.in);
        String choose = sc.next();
        switch (choose) {
            case "1" -> addStudent(list);
            case "2" -> deleteStudent(list);
            case "3" -> updateStudent(list);
            case "4" -> queryStudent(list);
            case "5" -> {
                System.out.println("退出");
                break loop; // 把循环设计一个标号,这样就能退出整个循环了,或者用system.exit(0)停止虚拟机使用,也就是点击右上角的❌的效果
            }
            default -> System.out.println("没有这个选项");
        }
       
    }    
    }   

    public static void addStudent( ArrayList<Student> list){
        // 先来一个空参构造函数,用来东西进去
        Student s = new Student();

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生的id:");
        String id = sc.next();
        s.setId(id);
       
        System.out.println("请输入学生的姓名:");
        String name = sc.next();
        s.setName(name);

        System.out.println("请输入学生的年龄:");
        int age = sc.nextInt();
        s.setAge(age);

        System.out.println("请输入学生的家庭住址:");
        String homeAddress = sc.next();
        s.setHomeAddress(homeAddress);

        // 把学生对象添加到集合中
        list.add(s);
        
    }

    public static void deleteStudent( ArrayList<Student> list){
        System.out.println("删除学生");
    }

    public static void updateStudent( ArrayList<Student> list){
        System.out.println("修改学生");
    }

    public static void queryStudent( ArrayList<Student> list){
        if(list.size() == 0){
            System.ou
  • 写回答

24条回答 默认 最新

  • caozhenyu650 2024-09-08 00:42
    关注

    此答案是由GPT4和本人亲自作答,如有帮助,还请采纳!
    在 Visual Studio Code(VSCode)中出现中文乱码的情况,通常是由于编码设置不当或终端配置问题导致的。虽然你提到已经将编码设置为 UTF-8,但可能还需要进行进一步的配置才能正确显示中文。以下是解决中文乱码问题的详细步骤和可能的解决方案:

    1. 检查文件编码

    确保所有相关文件的编码都是 UTF-8,包括 .java 文件和 VSCode 本身的配置文件。具体步骤如下:

    1. 打开 VSCode。
    2. 选择底部状态栏的编码格式(通常显示为 UTF-8GBK)。
    3. 如果不是 UTF-8,请点击并选择“保存为 UTF-8”。

    2. 配置 VSCode 终端的编码

    VSCode 的终端也需要正确配置为 UTF-8 才能显示中文字符。按照以下步骤进行配置:

    1. 打开 VSCode 设置,快捷键 Ctrl + ,
    2. 在搜索栏输入 terminal.integrated.shellArgs.windows(Windows 系统)或 terminal.integrated.shellArgs.linux(Linux 系统)。
    3. 如果使用 PowerShell,确保其编码设置为 UTF-8。你可以通过以下命令进行配置:
      "terminal.integrated.profiles.windows": {
          "PowerShell": {
              "path": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
              "args": [
                  "-NoLogo",
                  "-ExecutionPolicy",
                  "Bypass",
                  "-NoExit",
                  "-Command",
                  "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8"
              ]
          }
      }
      
      如果使用 CMD,请添加:
      "terminal.integrated.profiles.windows": {
          "Command Prompt": {
              "path": "C:\\Windows\\System32\\cmd.exe",
              "args": ["/K", "chcp 65001"]
          }
      }
      
    4. 确保 terminal.integrated.defaultProfile.windows 设置为你修改的终端配置。

    3. 修改 Java 运行时环境的编码

    在运行 Java 程序时,可以通过设置 JVM 的启动参数来确保程序使用 UTF-8 编码:

    1. 打开 VSCode 的运行配置文件,位于 .vscode/launch.json
    2. "vmArgs" 中添加以下参数:
      "vmArgs": "-Dfile.encoding=UTF-8"
      
      完整配置示例如下:
      {
          "version": "0.2.0",
          "configurations": [
              {
                  "type": "java",
                  "name": "Launch Program",
                  "request": "launch",
                  "mainClass": "your.main.Class",
                  "vmArgs": "-Dfile.encoding=UTF-8"
              }
          ]
      }
      

    4. 确保终端和编辑器字体支持中文

    有时字体问题也会导致中文无法正确显示:

    1. 打开 VSCode 设置。
    2. 搜索 editor.fontFamilyterminal.integrated.fontFamily
    3. 确保使用的字体支持中文,如 Consolas, 'Courier New', monospace, 'Microsoft YaHei UI'

    5. 其他注意事项

    • 确认无代理干扰: 如果使用了远程代理或 VPN,可能会干扰编码设置。
    • 检查代码: 确保代码中没有硬编码的非 UTF-8 字符串。
    • 重启 VSCode: 在所有配置完成后,重启 VSCode 以确保设置生效。

    6. 运行示例

    使用以下步骤来验证是否正确输出中文:

    public class Main {
        public static void main(String[] args) {
            System.out.println("测试中文输出: 学生姓名是张三。");
        }
    }
    

    运行以上代码,如果输出正常显示中文,那么配置已经生效。

    7. 配置 JDK 环境

    确保你的 JDK 也设置为 UTF-8 编码:

    • 打开 JDK 的安装目录,找到 jre/lib 文件夹。
    • 找到 logging.properties 文件,检查并确保输出编码设置为 UTF-8。

    8. 参考配置文件

    如果上述步骤仍然无法解决问题,请检查或创建以下配置文件:

    • .vscode/settings.json:包含编码和终端的相关设置。
    • .vscode/launch.json:Java 运行时配置文件。

    以上步骤应能解决在 VSCode 中中文显示为问号的问题。确保每一步配置完成后重新启动 VSCode,并检查终端输出是否正确。希望这些建议对你有帮助!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(23条)

报告相同问题?

问题事件

  • 系统已结题 9月22日
  • 已采纳回答 9月14日
  • 创建了问题 9月7日

悬赏问题

  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥20 和学习数据的传参方式,选择正确的传参方式有关
  • ¥15 这是网络安全里面的poem code
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路