在项目中遇到java服务启动后,运行日志输出存在大量"?"字符,通过与正常日志对比,发现"?"字符为中文乱码。总共3台服务器设备,其中2台存在该问题。
解决办法
检查环境变量
执行以下命令检查环境变量是否存在异常
localectl status
echo $LANG
echo $LC_CTYPE
echo $JAVA_TOOL_OPTIONS
vi编辑日志文件检查文件编码set fileencoding
增加启动参数
指定字符集 -Dfile.encoding=UTF-8
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
java -Dfile.encoding=UTF-8 -jar xxx-0.0.1-SNAPSHOT.jar