Java 中文乱码(UTF-8 源文件 + javac 默认 GBK)解决笔记
2026/6/26 17:26:31 网站建设 项目流程

一、乱码根本原因

  1. 你的操作:记事本将Hello.java保存为UTF-8 编码
  2. Windows 下javac编译器默认读取源码编码为 GBK(跟随系统区域编码)
  3. 源码编码 (UTF-8) ≠ 编译读取编码 (GBK),中文字节解析错位,运行控制台出现乱码

二、两种标准解决方法

方法 1:编译命令强制指定 UTF-8(推荐,无需改动文件)

编译时追加参数-encoding UTF-8,告诉编译器以 UTF-8 读取源码文件

cmd

# 完整编译语句 javac -encoding UTF-8 Hello.java # 运行(你的主类名是A) java A

优势:文件维持标准 UTF-8,跨 Windows/Linux/Mac 都不会乱码,是开发通用写法。

方法 2:修改源文件编码为 ANSI(Windows 本地兼容方案)

记事本操作步骤:

  1. 顶部菜单栏【格式 (O)】→【另存为】
  2. 保存弹窗底部「编码」下拉框选择ANSI
  3. 覆盖原文件保存后,直接用普通编译命令即可

cmd

javac Hello.java java A

缺点:ANSI 是 Windows 专属编码,文件放到其他操作系统会再次出现中文乱码,仅适合本地临时测试。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询