Python3脚本在shell中运行良好,但会在PHP中触发UnicodeincodeError
考虑以下脚本:Python3脚本在shell中运行良好,但会在PHP中触发UnicodeincodeError,php,python-3.x,character-encoding,Php,Python 3.x,Character Encoding,考虑以下脚本: #!/usr/bin/env python3 print("<h1>é</h1>") #/usr/bin/env蟒蛇3 印刷体(“é”) 我正在尝试从PHP运行它: <?php system("/usr/bin/python3 /my/script.py"); ?> 它在shell中运行良好,但在PHP中崩溃: UnicodeEncodeError:“ascii”编解码器无法对位置3中的字符“\xe9”进行编码:序号不在范围
#!/usr/bin/env python3
print("<h1>é</h1>")
#/usr/bin/env蟒蛇3
印刷体(“é”)
我正在尝试从PHP运行它:
<?php
system("/usr/bin/python3 /my/script.py");
?>
它在shell中运行良好,但在PHP中崩溃:
UnicodeEncodeError:“ascii”编解码器无法对位置3中的字符“\xe9”进行编码:序号不在范围内(128)
如果我添加.encode('utf-8')
PHP打印字节编码字符串:
b'\xc3\xa9'
我怎样才能修好它?在python脚本中添加
#-*-编码:utf-8-*-
或者在字符串前面加u
都没有帮助,我认为utf-8应该是python3的默认值?一个修复方法是明确地设置PythonionEncoding
:
<?php
system("PYTHONIOENCODING=utf-8 /usr/bin/python3 /my/script.py");
?>
[]