Я пишу функцию импорта в PHP для импорта новостей от издателя. их API возвращает мне ответ в формате newsml1.2, все хорошо, но текст новости выглядит так
%26lt%3Bp%26gt%3B4+ya%C5%9F%C4%B1ndalar%2C+1+milyon+liradan+fazla+bor%C3%A7lar%C4%B1+var%26lt%3B%2Fp%26gt%3B%26lt%3Bp%26gt%3B-
Я понятия не имею, что это за формат, и я попробовал эти функции, но ничего не изменилось:
$body = mysql_real_escape_string($body);
iconv(mb_detect_encoding($body, mb_detect_order(), true), "UTF-8", $body);
htmlspecialchars($body, ENT_NOQUOTES, "UTF-8");
$body = nl2br(html_entity_decode($body));
может кто-нибудь сказать мне, что я должен делать. Спасибо
постскриптум
Я использую локон для получения списка новостей:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_ENCODING, "UTF-8");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $HAS_USERNAME . ":" . $HAS_PASSWORD);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$response = curl_exec($ch);
чем с симплексм
$xml = @simplexml_load_string($response);
использование urldecode()
на ответ:
header('Content-Type: text/html; charset=utf-8');
$response = '%26lt%3Bp%26gt%3B4+ya%C5%9F%C4%B1ndalar%2C+1+milyon+liradan+fazla+bor%C3%A7lar%C4%B1+var%26lt%3B%2Fp%26gt%3B%26lt%3Bp%26gt%3B-';
$response = urldecode($response);
echo $response; // <p>4 yaşındalar, 1 milyon liradan fazla borçları var</p><p>-
Других решений пока нет …