资讯详情

解决 IntelliJ IDEA 2019.2.3 java 工程运行中文乱码问题

前言

  • java 语言语法相似C ,目前接触的开发环境:eclipse与 IntelliJ IDEA,Android Studio 应该跟 IntelliJ IDEA 很类似
  • 虽然以前改了Android APK,了解了一些java开发相关的东西,但是感觉很零碎,所以最近抽出了几本书Java通过实践,熟悉相关书籍java开发,如java web,如android

IntelliJ IDEA 中文显示乱码

  • 有开发经验,要明确一个基本问题:【统一文件编码为 UTF-8】至于为什么要用UTF-8而不是GBK、GB2312,我认为这是一个模式问题。你的代码只在自己的电脑环境中运行吗?
  • 我使用JFrame当我发现标题栏显示的中文是乱码时,我立刻想到了文件编码的问题,但解决方案并不那么顺利,但最终解决方案如下

设置UTF-8

  • 1、【File 】 -> 【Settings…】,搜索 【File Encodings】,全部设置为【UTF-这里统一采用8】【UTF-8】

在这里插入图片描述

  • 2、【Settings… 】中的 【Build 】 -> 【Runner】,【VM Options】增加 -Dfile.encoding=utf-8

  • 3、【Settings…】 【Java Compiler】,增加 -Dfile.encoding=utf-8

  • 4、【Help】-> 【Edit Custom VM Options…】,后面追加 -Dfile.encoding=utf-8

  • 5、修改 IntelliJ IDEA安装目录下的问题:添加 -Dfile.encoding=utf-8,我的路径是:
    • C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.3\bin\idea.exe.vmoptions
    • C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.3\bin\idea64.exe.vmoptions

  • 6.【调试按钮】一般在右上角,点击【Edit Configurations…】,在 【VM options 】,追加: -Dfile.encoding=utf-8

  • 7.手动保存文件【UTF-8的文件】,IntelliJ IDEA 窗口的右下角有一个文件编码图标,如显示【UTF-8】,这个跟 VS Code 重新选择有点像:【UTF-8】

  • 以上设置完成后,可重启: IntelliJ IDEA 软件不需要重启计算机

验证

  • 编写包含 中文的 代码,如Debug 调试打印,测试工程代码如下
package com.zhang.draw; import javax.swing.JFrame;  public class DrawPictureFrame extends JFrame { 
             public DrawPictureFrame() { 
                 setResizable(false);         setTitle("神奇的乱码问题");         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         setBounds(200, 100, 300, 300);         System.out.println(System.getProperty("file.encoding"));
        System.out.println("竟然中文可以显示了!!");
    }

    public static void main(String[] args) { 
        
        DrawPictureFrame frame = new DrawPictureFrame();
        frame.setVisible(true);
    }
}

显示效果

缓存问题

  • 因为上面的步骤有很多,有时发现【改完】调试运行还是【中文乱码】,当时我只是让【标题栏】显示中文,后来我在调试中加了打印,类似于【刷新源代码】,从而重新【编译】,发现竟然中文【神奇】的正常了!!!

再次确认

  • 我重新建了一个工程,发现【中文正常显示了】,无论是【显示】还是【调试窗口】中,所以以上步骤,建议全部设置好,一统【文件编码 UTF-8】即可
package com.zhong.wen;
import javax.swing.JFrame;

public class ZhongWenFile extends JFrame { 
        
    public ZhongWenFile() { 
        
        setResizable(false);
        setTitle("中文显示是否正常");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(500, 100, 600, 450);
        System.out.println("中文显示");
    }

    public static void main(String[] args)
    { 
        
        ZhongWenFile zhongwen = new ZhongWenFile();
        System.out.println("中文显示是否正常呢?");
        zhongwen.setVisible(true);
    }
}
  • 显示效果:中文显示正常

小结

  • 搭建好【顺手的开发环境】,让Java的学习更高效
  • 记录哪些让人【火大】【抓狂】的瞬间,想放弃时,却又【峰回轮转】的【淡定】
  • 开始【折腾】Java

标签: jbr2w串联连接电缆

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司