前言
- 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.vmoptionsC:\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