当前位置: 动力学知识库 > 问答 > 编程问答 >

php exec(python) return unicode

问题描述:

I have a PHP script that calls a python script with arguments, and returns several string with print from python.

If python returns unicode characters, they won't show up properly in the browser.

If PHP sends unicode characters to python through arguments, it breaks.

Python code:

# -*- coding: UTF8 -*-

from lxml import html

hparser = html.HTMLParser(encoding="utf-8")

tree = html.parse(url, hparser)

## stuff here..

a = a_el.text.encode("utf-8")

b = b_el.text.encode("utf-8")

print [a, b]

PHP code:

header("Content-type: text/html; charset=UTF-8");

exec('python script.py "unicode æøå"', $input_ar);

foreach ($input_ar as $value) {

preg_match_all("/'([^']+)'/", $value, $value_ar);

//A

$a = $value_ar[1][0];

//B

$b = $value_ar[1][1];

echo $a."<br>";

echo $b."<br>";

}

The output in the browser either gives me \xc3\c85 something or a question mark in a black diamond shape.

I've tried using utf8_encode($string), but it didn't work.

I've also done a little research without luck.

I want to be able to send/recieve unicode characters from PHP to python.

分享给朋友:
您可能感兴趣的文章:
随机阅读: