在CentOS上解决Java编译编码问题,可从系统环境、编译参数、文件编码等方面入手,具体方法如下:
设置系统默认编码
export LANG=en_US.UTF-8
和 export LC_ALL=en_US.UTF-8
。/etc/locale.conf
,添加 LANG=en_US.UTF-8
,重启系统生效。编译时指定编码
使用 javac -encoding UTF-8 YourJavaFile.java
命令,明确指定源文件编码为UTF-8。
运行时指定编码
通过 java -Dfile.encoding=UTF-8 YourMainClass
设置JVM默认编码。
配置开发工具
pom.xml
中添加 <encoding>UTF-8</encoding>
。build.gradle
中配置 options.encoding = 'UTF-8'
。检查文件编码
用文本编辑器(如Vim)确认源文件已保存为UTF-8格式,可通过 :set fileencoding
查看并修改。
设置环境变量(可选)
添加 JAVA_TOOL_OPTIONS
环境变量:export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
,适用于所有Java进程。
注意:若需处理中文路径或文件名,确保系统支持UTF-8编码,且文件路径在代码中以UTF-8格式引用。