16
Сен
2020

Не работает русский язык в Python при передачи аргумента. Директивы не помогают

1.php

<?php
header('Content-Type: text/html; charset=utf-8');
$hello = 'поехали';
$result = shell_exec('python3 1.py ' . $hello);
echo $result;
?>

1.py

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# vim:fileencoding=utf-8

from __future__ import unicode_literals

import sys
from pymystem3 import Mystem
mystem = Mystem()
who = sys.argv[1]
print(u'orig: ' + who)
print(who)
text = who
lemmas = mystem.lemmatize(text)
# lemmas = mystem.lemmatize('поехали')
print(''.join(lemmas).encode('utf-8'))

Русский язык не лемматизирется и не отображается в браузер, а в терминале - работает. Если явно указать текст на русском, как в предпоследней строке 1.py, то работает. Но когда передаешь русский текст через аргумент - не работает.

Источник: https://ru.stackoverflow.com/questions/1178739/%D0%9D%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9-%D1%8F%D0%B7%D1%8B%D0%BA-%D0%B2-python-%D0%BF%D1%80%D0%B8-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8-%D0%B0%D1%80%D0%B3%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0-%D0%94%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D1%8B-%D0%BD%D0%B5-%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%B0%D1%8E%D1%82

Share

Тебе может это понравится...

Добавить комментарий