温馨提示×

nohup日志编码如何改

小樊
35
2026-09-24 19:38:28
栏目: 编程语言

nohup 本身不控制日志编码,它只是把程序输出重定向到文件(默认 nohup.out)。
日志文件的编码,取决于程序输出时使用什么编码。

下面按常见场景说明怎么改。


一、Java 程序(最常见)

1. 指定 JVM 文件编码

nohup java -Dfile.encoding=UTF-8 -jar app.jar > nohup.out 2>&1 &

✅ 重点参数:

  • -Dfile.encoding=UTF-8

二、Python 程序

1. 设置环境变量(推荐)

nohup env PYTHONIOENCODING=utf-8 python app.py > nohup.out 2>&1 &

2. 或代码中指定

import sys
sys.stdout.reconfigure(encoding='utf-8')

三、Shell 脚本 / 命令

1. 设置 locale

nohup env LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 sh run.sh > nohup.out 2>&1 &

四、已经是 GBK,想转成 UTF-8

转换已有日志

iconv -f GBK -t UTF-8 nohup.out > nohup_utf8.out

五、确认当前日志编码

file nohup.out
# 或
enca nohup.out

六、推荐标准写法(通用)

nohup env LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 \
your_command > nohup.out 2>&1 &

如果你能告诉我:

  • 什么语言(Java / Python / Shell)
  • 当前是乱码还是编码不对

我可以给你精确命令。

0 踩