我有一个mysql数据库并使用php脚本从数据库中获取所有行和值,并将它们输出到json文件中。只要没有特殊字符,它就可以正常工作。 '\和/等完美工作,只有ö,ä或û等打破它,没有任何反应。有什么问题?
<?php
$response = array();
require_once __DIR__ . '/db_connect.php';
$db = new DB_CONNECT();
$result = mysql_query("SELECT * FROM my_table") or die(mysql_error());
// check for empty result
if (mysql_num_rows($result) > 0) {
$response["arr"] = array();
while ($row = mysql_fetch_array($result)) {
$arr = array();
$arr["id"] = $row["id"];
$arr["version"] = $row["version"];
$arr["info"] = $row["info"];
// push single info into final response array
array_push($response["arr"], $arr);
}
// success
$response["success"] = 1;
// echoing JSON response
echo json_encode($response);
} else {
$response["success"] = 0;
$response["message"] = "Nothing found";
echo json_encode($response);
}
?>
答案 0 :(得分:1)
(原始海报找到解决方案并发布了问题。我编辑并在此发布,以便可以关闭主题。)
找到解决方案:
Add this to the PHP file:
if (!mysql_set_charset('utf8', $conn)) {
echo "Error: Unable to set the character set.\n";
exit;
}
答案 1 :(得分:0)
您可以尝试使用JSON_UNESCAPED_UNICODE
,如下所示:
echo json_encode($reponse, JSON_UNESCAPED_UNICODE)