从mysql中检索的PHP-json格式以Unicode表示数据



我的mysql数据库中有一些波斯数据,检索到的数据包含C/C++/Java源代码编码的波斯值数据,如下所示;

{"server_response":[{"hp_number":"09301234567","name":"\u0633"}]}而在name列中有一个波斯字符(õ(。

php代码如下:

<?php
require "init.php";
$hp_no = "09301234567";
mysqli_set_charset($con,"utf8");
$sql = "select * From users Where hp_number = ('$hp_no');";
$result = mysqli_query($con,$sql);
$response = array();
while ($row = mysqli_fetch_array($result)) {
array_push($response,array("hp_number"=>$row[1],"name"=>$row[3]));
}
echo json_encode(array("server_response"=>$response));
mysqli_close($con);
?>

在mysql端,表和数据库本身的编码都设置为utf8general_ci,并且呈现得非常完美,没有任何问题。

提前感谢您的帮助和建议。

通过在编码时添加JSON_UNESCAPED_UUNICODE作为另一个参数,我可以成功地解决这个问题。因此代码行更改为;

echo json_encode(数组("server_response"=>$response(,json_UNESCAPED_UNICODE(;

最新更新