解决在VS Code中运行有中文字符的Java代码(第三种方式),出现编码 GBK 的不可映射字符 (0x81)

写代码时,我们不避免的会使用一些中文注释,这些在其他的语言中没有问题。但是在Java的注释里面如果有中文字符,就会报错。即使文件编码是utf-8也无济于事。是因为使用CMD运行java程序的时候,系统默认的编码格式是gbk。而包含中文字符的代码一般是Unicode格式,所以直接运行含有中文字符的代码就很容易出现编码错误。

比如下面的

public class test {
    public static void main(String[] args) {
        System.out.println("你好!");
    }
}

在VS Code中直接使用Run Code插件运行,会出现如下的场景
在这里插入图片描述

解决办法

方法一:使用-encoding utf-8 指令指定运行编码为UTF-8

javac -encoding UTF-8 .\test.java && java test

方法二:用记事本打开,修改文件的编码

在这里插入图片描述
保存后在cmd中可以运行即可,参考命令

javac .\test.java && java test

方法三,VS Code的推荐使用,保存编码为GBK2312

在右下角修改默认的utf-8文件编码为gbk2312编码
在这里插入图片描述

选择编码保存
在这里插入图片描述
输入2312,选择下面的第一个
在这里插入图片描述
然后在VS Code中就可以直接Run Code代码了;如果是用命令运行的方式,命令同方法二
在这里插入图片描述

posted @ 2022-03-06 23:58  喝茶看猴戏  阅读(258)  评论(0)    收藏  举报  来源