我有一些打印日志消息的 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 的情况下运行,或者设置它以便在后台在 nohup 下运行时 utf-8 字符不会导致崩溃?