在Ubuntu上解决Java编译乱码问题,可按以下步骤操作:
设置系统字符编码为UTF-8
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
(若需永久生效,可将上述命令添加到~/.bashrc
文件中,执行source ~/.bashrc
)
安装中文字体
sudo apt update
sudo apt install ttf-wqy-zenhei ttf-wqy-microhei
(确保系统支持中文显示)
配置Java字体路径
mkdir -p $JAVA_HOME/jre/lib/fontconfig/fallback
ln -s /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc $JAVA_HOME/jre/lib/fontconfig/fallback/
sudo mkfontscale
sudo mkfontdir
(让Java识别系统字体)
指定编译和运行时的字符编码
-encoding UTF-8
参数:javac -encoding UTF-8 YourJavaFile.java
java -Dfile.encoding=UTF-8 YourJavaClass
(确保源代码文件本身保存为UTF-8格式)
检查IDE或编辑器编码
若使用IDE(如IntelliJ IDEA/Eclipse),需在设置中确认文件编码为UTF-8,避免因编辑器编码不一致导致乱码。
验证:编译运行后,若终端或输出文件正确显示中文,则问题解决。若仍存在乱码,需检查程序中是否有硬编码的非UTF-8字符或特殊处理逻辑。