我有一些打印日志信息的Python代码。在命令行下运行时,使用utf-8没有问题。包含特殊字符的日志消息可以正常打印。但是,在后台使用nohup运行时,它会无法处理utf-8字符。
nohup python2.7 myProgram.py &
我看到的错误是通常的“试图在ASCII中编码utf”的错误:
UnicodeEncodeError:'ascii'编解码器无法在位置71处对字符u'\u2013'进行编码:超出范围128。
我猜这是因为nohup向python信号表示它没有普通终端,所以默认为ascii。有没有办法告诉nohup启用utf-8或设置utf-8字符在后台运行nohup时不会导致崩溃?
# -*- encoding: utf8 -*-
是否在文件的第一行或第二行。 - Andrea Spadaccini