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.