PHP passthru:无法从 python 脚本获得完整响应
PHP passthru: unable to get full response from python script
我正在尝试从 Python 脚本获取数据:
import pymorphy2
import json
import sys
morph = pymorphy2.MorphAnalyzer()
butyavka = morph.parse(sys.argv[1])[0]
for item in butyavka.lexeme:
print(item.word)
PHP代码:
<?php
chdir('C:\Users\Michael-PC\AppData\Local\Programs\Python\Python35-32');
$out;
passthru('python WordAnalizator.py "слово"', $out);
echo($out);
?>
如果我使用控制台,它会做出正确的响应,例如:
但是在PHP中我只有第一个词:
怎么了?
这是明显的编码问题(俄文字母变得不可读)。因此,尝试在 PHP 代码中设置(即更改默认值)编码,例如添加到 header Unicode 用法:
header('Content-Type: text/html; charset=utf-8');
如果 charset=utf-8
没有帮助,请尝试 charset=windows-1251
。
更新:
不要忘记保存您的文件(PHP UTF 编码代码用于 utf-8,或 ANSI 代码用于 windows-1251)
我正在尝试从 Python 脚本获取数据:
import pymorphy2
import json
import sys
morph = pymorphy2.MorphAnalyzer()
butyavka = morph.parse(sys.argv[1])[0]
for item in butyavka.lexeme:
print(item.word)
PHP代码:
<?php
chdir('C:\Users\Michael-PC\AppData\Local\Programs\Python\Python35-32');
$out;
passthru('python WordAnalizator.py "слово"', $out);
echo($out);
?>
如果我使用控制台,它会做出正确的响应,例如:
但是在PHP中我只有第一个词:
怎么了?
这是明显的编码问题(俄文字母变得不可读)。因此,尝试在 PHP 代码中设置(即更改默认值)编码,例如添加到 header Unicode 用法:
header('Content-Type: text/html; charset=utf-8');
如果 charset=utf-8
没有帮助,请尝试 charset=windows-1251
。
更新:
不要忘记保存您的文件(PHP UTF 编码代码用于 utf-8,或 ANSI 代码用于 windows-1251)