【发布时间】:2013-10-04 17:17:20
【问题描述】:
我正在尝试将 google 结果插入 mysql utf-8 数据库。
但是当我检查插入的行时,一些字符看起来很奇怪。
例如“医生手册”插入为“医生's 手册”。
我尝试了 htmlspecialchars_decode、urldecode 但没有成功。
$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 files (title) VALUES ('$title')", $conn))
【问题讨论】:
-
& #39;是 NOT 有效的 html 实体。那里应该没有空间,所以难怪它没有被解码。 -
实际上没有空间。没有空间堆栈溢出显示它正常报价。所以我添加了空间。
-
使用反引号来防止这种情况。 ` ' `.