2013-10-04 2 views
0

Я пытаюсь вставить результаты google в базу данных mysql utf-8. Но когда я проверяю вставленные строки, некоторые символы кажутся странными. Например, «справочник врача», вставленный как «доктор ' s справочник». Я пробовал htmlspecialchars_decode, urldecode, но не работал.Как декодировать результаты поиска api google?

$query="doctor's handbook"; 
$url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&" 
    . "q=".urlencode($query)."&userip=78.160.152.204&rsz=large"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$body = curl_exec($ch); 
curl_close($ch); 

$json = json_decode($body); 
$title = mysql_real_escape_string($result->titleNoFormatting); 

mysql_query ("INSERT INTO файлов (название) VALUES ('$ название')", $ сопп))

+0

'& #39;' is * NOT * valid html entity. Там не должно быть места, поэтому неудивительно, что он не декодируется. –

+0

На самом деле там нет места. Без переполнения стека показывает нормальную цитату. Поэтому я добавил пространство. – user260223

+0

использовать backticks, чтобы предотвратить это. '''. –

ответ

0

Окей я решил проблему.

html_entity_decode($title,ENT_QUOTES); 

ENT_QUOTES преобразует и двойные и одинарные кавычки.

Смежные вопросы