2016-07-16 2 views
1

Я пытаюсь получить данные из сценария Python:PHP PassThru: не удалось получить полный ответ от питона сценария

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); 
?> 

Если я использую консоль, это сделать правильно ответ, как:

enter image description here

Но в PHP у меня есть только первое слово:

enter image description here

Что не так?

ответ

0

Это очевидная проблема кодирования (русские буквы становятся нечитаемыми). Итак, попробуйте установить (то есть изменить по умолчанию) кодировку в PHP-коде, например. добавить в заголовок использование Юникода:

header('Content-Type: text/html; charset=utf-8'); 

Если charset=utf-8 не помогает, попробуйте charset=windows-1251 вместо этого.

UPDATE:

Не забудьте сохранить файл (PHP код в кодировке UTF для UTF-8 или ANSI для Windows-1251)

Смежные вопросы