jdk乱码

最近一个项目在idea上编译正常运行,部署到正式环境中出现中文乱码,通过运行下面的代码发现jdk编码是GBK而我的编译是UTF-8

import java.io.ByteArrayOutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
 
class Test {
    public static void main(String[] args) {
        System.out.println("Default Charset=" + Charset.defaultCharset());
        System.out.println("file.encoding=" + System.getProperty("file.encoding"));
        System.out.println("Default Charset=" + Charset.defaultCharset());
        System.out.println("Default Charset in Use=" + getDefaultCharSet());
    }
 
    private static String getDefaultCharSet() {
        OutputStreamWriter writer = new OutputStreamWriter(new ByteArrayOutputStream());
        String enc = writer.getEncoding();
        return enc;
    }
 
}

jdk乱码

 

 方案一:在编译的时候加个 -Dfile.encoding=UTF-8

 我写了个.bat脚本

@echo off

start java  -Dfile.encoding=utf-8  -jar demo-0.0.1-SNAPSHOT.jar

exit

 

方案二:配置环境变量

 jdk乱码

 

 然后运行刚才的代码

jdk乱码

 

上一篇:Python之旅 3·数据爬虫常见问题


下一篇:个人博客