我正在学习用PHP编写 ANDROID API 来从服务器获取数据。
服务器中的表有一个“name”列,其值“Jàne”已经存在。
以下是示例代码:
<?php
$reply= array();
if(isset($_POST['place'])){
// DB connection
$place= $mySQLiconn->real_escape_string($_POST['place']);
$search= $mySQLiconn->query("SELECT name, id FROM info WHERE addr = '$place'");
if(!empty($search)){
if($search->num_rows > 0) {
$reply["list"]= array();
while($search = $search->fetch_array()){
$row = array();
$row["id"] = $search["id"];
$row["name"] = $search["name"];
array_push($reply["list"], $row);
}
echo json_encode($reply);
} else{
//
$reply["msg"] = "Error";
echo json_encode($reply);
}
} else{
//Fetched failed
$reply["msg"] = "Error";
echo json_encode($reply);
}
$mySQLiconn->close();
} else {
$reply["msg"] = "Error";
echo json_encode($reply); // point L
}
?>
如果搜索结果中的结果包含任何特殊字符,我会收到带有BLANK响应正文的200回复。
如果搜索结果只包含A-Z,a-z,0-9,逗号,空格;然后它的工作,我得到一个适当的回应机构。
请帮我如何获取具有特殊字符的数据。
修改
我也希望在我的回复中使用相同的确切数据,以便我可以在应用UI中显示它。
表中还有其他特殊字符,如é,è,à等
选择命令在我的cpanel中正常工作以获得特殊字符 所以,我认为这不是数据库问题。
更新
当前代码返回空白,但如果我将指向L 替换为 echo var_dump($ reply);
我收到以下格式的回复:
array(1) {
["list"]=> array(3) {
[0]=> array(2) {
["id"]=> string(2) "31"
["name"]=> string(4) "Maze"
}
[1]=> array(2) {
["id"]=> string(2) "35"
["name"]=> string(4) "Jan�"
}
[2]=> array(2) {
["id"]=> string(2) "39"
["name"]=> string(7) "Puchong"
}
}
}