Я пытаюсь получить данные из скрипта 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('Content-Type: text/html; charset=utf-8');
Если charset=utf-8
не помогает, попробуй charset=windows-1251
вместо.
ОБНОВИТЬ:
Не забудьте сохранить свой файл (код PHP в кодировке UTF для utf-8 или ANSI для windows-1251)
Других решений пока нет …