我有一个在python程序中生成的json,看起来像这样:
{"0": {"ausschreiber": "Beispiel; Zeitarbeit GmbH", "beschreibung": "\r\nF\u00fcr unseren Kunden suchen wir motivierte studentische Aushilfen auf flexibler Stundenbasis (450\u0080-Basis)", "datum": "17.11.2016", "name": "Studentische Hilfskr\u00e4fte gesucht", "email": "info@hindi.de"}}
现在我在我的php程序中解码json以获取关联数组并在网站上显示。 问题是没有显示像€char这样的特殊字符,但显示了像öäü这样的特殊字符。 这是php程序:
<?php
header('Content-Type: text/html; charset=utf-8');
function compare($old_data, $new_data){
$old_result = json_decode($old_data, true);
$new_result = json_decode($new_data, true);
echo $new_result[0]['beschreibung'];
}
function go4it(){
$db_data=json_content(); //creates the json from the Database
$crawler_data = file_get_contents('http://localhost/phppath/python_program.cgi'); //calls the cgi which returns the json
compare($db_data, $crawler_data);
}
go4it();
我尝试了什么:
$new_result = json_decode(utf8_encode($new data), true);
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("input_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "UTF-8");
感谢您的帮助!
编辑1 感谢@FranzGleichmann,因此问题似乎位于python程序中。我认为问题在于我从中获取内容的页面编码。该页面说它是ISO-8859-1,所以我尝试了这个:
url = 'https://www.example.com'
source_code = requests.get(url)
plain_text = source_code.text
plain_text.decode('iso-8859-1', 'ignore').encode('utf8', 'ignore')
print(plain_text.encoding)
然后我得到错误:“UnicodeEncodeError:'ascii'编解码器无法编码位置8496中的字符u'\ xf6':序数不在范围内(128)”
答案 0 :(得分:0)
这是python脚本的问题