如何解码谷歌搜索API结果?
问题描述:
我试图将谷歌结果插入到mysql utf-8数据库。 但是当我检查插入的行时,一些字符看起来很奇怪。 例如插入为“医生'
的手册”的“医生手册”。 我试过htmlspecialchars_decode,urldecode但没有工作。如何解码谷歌搜索API结果?
$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( '$标题')”,康涅狄格州$))
答
奥基我解决了这个问题。
html_entity_decode($title,ENT_QUOTES);
ENT_QUOTES将两个双和单引号转换。
'& #39;'是* NOT *有效的html实体。那里应该没有空间,所以难怪它不会被解码。 –
其实没有空间。没有空间堆栈溢出显示它正常报价。所以我增加了空间。 – user260223
使用反引号来防止这种情况。 '''。 –