我应该在PHP中设置两次Content-Type标头吗?

时间:2016-05-05 20:25:04

标签: php json utf-8

我有一个将数据插入MySQL的PHP​​脚本,必须使用UTF-8完成 如果行动成功执行,我想回应成功"使用JSON这就是为什么我需要设置两次Content-Type标头或者我错了?

示例代码:

<?php
header('Content-Type: text/html; charset=utf-8'); // header one
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Dennis', 'Enström', 'dennis@example.com')";
if (mysqli_query($conn, $sql)) {
header('Content-Type: application/json'); // header two
echo json_encode('success');
}

这是正确的方法吗?我应该怎么做?

更新
MySQL值来自$ _POST,HTML文档设置为UTF-8。

1 个答案:

答案 0 :(得分:0)

使用$app ->get('/route/{id}', 'controllers.myController:getIndex') ->assert('id', '[0-9]+'); $app ->get('/route/{code}', 'controllers.myController:getIndex') ->assert('code', '[a-zA-Z]+'); PHP manual page)设置Mysql客户端界面使用的字符集。

使用mysqli_set_charset()会向客户端的浏览器发送一个标题,说明如何阅读您的JSON编码&#34;成功&#34;字符串。

此时验证数据库中选择的编码可能是个好主意。

请注意,您的代码目前缺少在运行查询之前打开mysqli连接的命令。