我的查询从我的数据库中选择一行并以JSON的形式输出到浏览器,但我遇到了一个问题,我不能扭曲:每当我的查询选择的行包含一个特殊字符时例如“ö”,“ä”或“å”来自php的响应变得完全空白。这是我的疑问:
"SELECT email, firstname, lastname, phone, role FROM members WHERE id=? LIMIT 1"
我这样输出:
$data = array(
"email" => $email,
"firstname" => $firstname,
"lastname" => $lastname,
"phone" => $phone,
"role" => $role
);
echo json_encode($data);
exit();
如果我用一个特殊字符手动替换输出的一部分,如下所示:
$data = array(
"email" => $email,
"firstname" => "Jörgen", <-------------
"lastname" => $lastname,
"phone" => $phone,
"role" => $role
);
echo json_encode($data);
exit();
然后输出正确。我的config.php
包含以下内容:
header('Content-type: text/plain; charset=utf-8');
我的数据库归类设置为utf8_general ci
答案 0 :(得分:1)
尝试在连接到数据库时在PHP代码中包含$db_connect->set_charset("utf8");
。 ($db_connect
将包含您的数据库连接)