PHP没有正确输出特殊字符

时间:2018-05-01 17:11:15

标签: php mysql database utf-8

我的查询从我的数据库中选择一行并以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

1 个答案:

答案 0 :(得分:1)

尝试在连接到数据库时在PHP代码中包含$db_connect->set_charset("utf8");。 ($db_connect将包含您的数据库连接)