解决Ubuntu Java编译时编码问题可从以下方面入手:
export LANG=en_US.UTF-8
和export LC_ALL=en_US.UTF-8
命令设置系统编码为UTF-8,可添加到~/.bashrc
中永久生效。javac -encoding UTF-8 YourJavaFile.java
命令,明确指定源文件编码为UTF-8。-Dfile.encoding=UTF-8
参数设置JVM默认编码,可在~/.bashrc
中添加export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
。file -i YourJavaFile.java
命令确认源文件是否为UTF-8编码,非UTF-8需转换(如iconv -f GBK -t UTF-8
)。sudo apt install ttf-wqy-zenhei
)并配置字体目录。关键命令示例:
# 设置系统编码(临时)
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
# 编译时指定编码
javac -encoding UTF-8 HelloWorld.java
# 永久生效(添加到~/.bashrc)
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
echo 'export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"' >> ~/.bashrc
source ~/.bashrc