Linux 日志出现乱码,通常是编码不一致或终端/工具显示问题导致的。可以按下面思路逐步排查和处理。
file 日志文件
# 或
enca 日志文件
常见情况:
cat 看乱码vim 看正常或反之确保 终端编码 = 日志编码
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
检查:
locale
SSH 工具(Xshell / SecureCRT / MobaXterm):
iconv -f GBK -t UTF-8 日志文件 > 新文件.log
查看:
cat 新文件.log
vim 日志文件
:set fileencodings=gbk,utf-8
:e
或:
vim ++enc=gbk 日志文件
-Dfile.encoding=UTF-8
logging.basicConfig(
filename='app.log',
encoding='utf-8'
)
export LANG=zh_CN.UTF-8
journalctl -u 服务名 --no-pager
若乱码:
export LC_ALL=C.UTF-8
journalctl -u 服务名
或导出查看:
journalctl -u 服务名 > app.log
iconv -f GBK -t UTF-8 app.log
容器里:
locale
运行容器时:
docker run -e LANG=C.UTF-8 ...
locale 是否为 UTF-8如果你愿意,可以把:
发给我,我可以帮你精准定位是哪一层的问题。