Json编码无法从php中的db中获取特殊字符

时间:2016-12-14 13:59:15

标签: php android json api-design

我正在学习用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" 
    } 
}
}   

0 个答案:

没有答案