Php Can';t在使用德语umlauts时显示json对象
我有一个简单的函数可以实现这一点:Php Can';t在使用德语umlauts时显示json对象,php,mysql,json,Php,Mysql,Json,我有一个简单的函数可以实现这一点: $stmt = $mysqli->prepare("SELECT id, firstName, lastName, birthDate, address, phoneNumber, housingSituation1 FROM client WHERE id = ?"); $param = 2; $stmt->bind_param("i", $param); $stmt->execute(); $o
$stmt = $mysqli->prepare("SELECT id, firstName, lastName, birthDate, address, phoneNumber, housingSituation1 FROM client WHERE id = ?");
$param = 2;
$stmt->bind_param("i", $param);
$stmt->execute();
$obj = $stmt->get_result()->fetch_object();
$stmt->close();
$mysqli->close();
echo json_encode($obj);
这很有效,直到有一次我注意到它没有返回任何东西,但我从该函数中获得状态200,当我开始调试时,我看到我有一个姓为:Müller的客户端,所以在我用u回复了ü之后,脚本又开始工作了。
然后我在谷歌上搜索了一下,发现我可以使用类似这样的echojson\u编码($obj,json\u UNESCAPED\u UNICODE)代码>但它对我不起作用。
有人知道我如何解决这个问题吗?我像这样解决了这个问题,在我的dbConnect php文件中添加了mysqli\u set\u charset,我的dbConnect.php如下所示。我希望这对某人有帮助
$DB_HOST = 'localhost';
$DB_USER = 'root';
$DB_PASS = '';
$DB_NAME = 'local_db';
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
mysqli_set_charset($mysqli, 'utf8');
你是否尝试过这里提供的解决方案:检查这个PDO。我在阿拉伯语方面遇到了同样的问题。我看到了,但正如你所看到的,我;我使用mysqlnd驱动程序的get_result()->fetch_object()功能,由于我的客户机表有70个属性,我不想一个接一个地绑定每个属性,你知道如何将解决方案应用到我的示例中吗?你有两个选项,要么用UTF-8配置数据库,要么在连接数据库时编写代码。太好了。。喝点啤酒,冷静一下