require_once('db.php');
$sql = "SELECT * FROM tbl";
$rs = mysql_query($sql);
$rows = array();
while($r = mysql_fetch_assoc($rs)) {
$rows['Record'][] = $r;
}
print json_encode($rows);
mysql_close($conn);
//它在上面完美无缺
while($r = mysql_fetch_assoc($rs)) {
$r = utf8_decode(urldecode($r));
$rows['Record'][] = $r;
}
//它上面没有工作,可能是$ r是一个对象 我怎样才能使它有效?
答案 0 :(得分:1)
问题是mysql_fetch_assoc
返回一个数组,并且你想将它传递给urldecode
,它等待一个字符串作为参数。
要实现您想要的效果,您应该将urldecode
调用到返回的$r
中的所有列。
你可以这样做,例如:
$r = array_map(function($col){
return utf8_decode(urldecode($col));
}, $r);