2013-10-04 4 views
0

mysql utf-8 데이터베이스에 google 결과를 삽입하려고합니다. 하지만 삽입 된 행을 확인하면 일부 문자가 이상하게 보입니다. 예를 들어 "doctor 's handbook"이 "doctor ' s handbook"으로 삽입되었습니다. htmlspecialchars_decode, urldecode 시도했지만 작동하지 않습니다.Google 검색 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)

+0

'& #39;'은 (는) 유효하지 않은 HTML 엔터티입니다. 거기에는 공간이 없어야하므로 디코딩되지 않습니다. –

+0

거기에는 실제로 공간이 없습니다. 공간이 없으면 오버플로가 정상적인 견적을 표시합니다. 그래서 나는 공간을 추가했다. – user260223

+0

방지를 위해 백틱을 사용하십시오. '''. –

답변

0

($ CONN "(파일 (제목) 값으로 '$ 제목을') INSERT") 좋아요 내가 문제를 해결했다.

html_entity_decode($title,ENT_QUOTES); 

더블과 싱글 모두 따옴표를 변환합니다 ENT_QUOTES.