Java在CentOS编译出现乱码的解决方法
时间:2026-08-18 | 作者:清风无痕 | 阅读:0在CentOS上编译Ja va代码时出现乱码,通常不是大问题。按下面几个方向逐步排查,基本都能解决。
先检查系统默认编码
CentOS的默认编码需要和Ja va编译器编码一致,推荐使用UTF-8。
先用locale命令查看当前编码。如果输出不是en_US.UTF-8或zh_CN.UTF-8这类UTF-8编码,就需要调整。
如果只是临时修改,可在当前终端执行:
export LANG=en_US.UTF-8export LC_ALL=en_US.UTF-8
这种方式只对当前会话有效。
如果想永久生效,就编辑/etc/locale.conf文件,加入LANG=en_US.UTF-8。保存后,重启系统,或者运行source /etc/locale.conf让配置生效。
编译时明确指定源文件编码
编译时,建议直接指定源文件编码。
可以使用ja vac -encoding UTF-8 YourJa vaFile.ja va,告诉编译器源文件采用UTF-8编码。
如果源文件本身是GBK等其他编码,只需要把UTF-8替换成对应编码即可。这样可以避免因为默认编码不匹配而出现乱码。
运行时也要统一编码
除了编译阶段,运行时的编码设置也很重要。
Ja va程序启动时,可以通过-Dfile.encoding=UTF-8参数设置JVM的默认字符编码,确保读写操作使用正确编码。
例如:
ja va -Dfile.encoding=UTF-8 YourMainClass
如果不想每次手动输入,可以把这个参数加入启动脚本,例如startup.sh。
检查源文件本身的编码
还要确认源文件确实是以UTF-8保存的。不要使用默认保存为ANSI或GBK的编辑器。
如果使用vim,可以执行:set fileencoding查看当前编码。
如果不是UTF-8,就执行:set fileencoding=utf-8,然后保存文件。
如果使用VS Code,操作会更简单。右下角有编码标识,点击后选择“保存为UTF-8”即可。
IDE编码设置要保持一致
如果你使用IDE开发,比如IntelliJ IDEA或Eclipse,还需要让IDE的编码设置与系统、编译器保持一致。
-
IntelliJ IDEA:在
File → Settings → Editor → File Encodings中,把Global Encoding、Project Encoding、Default encoding for properties files都设成UTF-8。 -
Eclipse:在
Window → Preferences → General → Workspace中,把Text file encoding改成UTF-8。
如果是中文无法显示,再检查字体
如果乱码并不是编译错误,而是中文显示不出来,比如程序输出中文成了问号或方块,那就可能不是编码问题,而是系统缺少中文字体。
可以先安装fontconfig和mkfontscale:
sudo yum install -y fontconfig mkfontscale
然后按下面步骤处理:
- 创建字体目录:
sudo mkdir -p /usr/share/fonts/chinese/TrueType - 把宋体(
simsun.ttf)、黑体(simhei.ttf)这类字体文件复制进去 - 运行
sudo mkfontscale && sudo mkfontdir && sudo fc-cache -fv重建字体缓存 - 重启系统后再检查显示效果
排查重点总结
- 系统默认编码要与Ja va编译器一致
- 编译时要用
-encoding明确指定源文件编码 - 运行时可用
-Dfile.encoding=UTF-8统一JVM编码 - 源文件本身必须确认是UTF-8保存
- IDE设置要和系统、编译器统一
- 中文不显示时,还要排查字体是否缺失
只要把系统、编译器、源文件、IDE、运行环境这几个环节的编码统一好,CentOS上Ja va编译乱码的问题通常都能解决。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Golang 在 CentOS 上怎么配置数据库连接:MySQL 与 PostgreSQL 实战说明
- 时间:2026-08-25
-
- CentOS 上 Python 版本怎么选:先保系统,再看项目与稳定性
- 时间:2026-08-25
-
- CentOS 下如何配置 Golang 并发模型
- 时间:2026-08-25
-
- CentOS 上安装 Python 需要哪些依赖?从基础环境到编译与项目隔离一次讲清
- 时间:2026-08-25
-
- CentOS 系统部署 Golang 应用,安全配置该从哪些环节下手
- 时间:2026-08-25
-
- Golang 在 CentOS 上如何搭建调试环境
- 时间:2026-08-25
-
- CentOS 下如何调试运行 Python 脚本:从 print 到 pdb 的实用选择
- 时间:2026-08-25
-
- CentOS 中 Golang 依赖库怎么安装
- 时间:2026-08-25
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15
