gpt4 book ai didi

php - php中带有json的特殊字符

转载 作者:行者123 更新时间:2023-11-28 23:12:04 24 4
gpt4 key购买 nike

我正在尝试获取数据库中的数据并以 json 格式显示它们。但是带重音的词是这样出现的:\u00f3。

我的代码是这样的:cidadeDao.php

<?php

class CidadeDAO {
private $conexao;

public function __construct() {
$this->conexao = new Conexao();
}

public function consultarTodos() {

// mysql_set_charset('utf8');
$sql = "SELECT * FROM cidade";

$resultado = mysqli_query($this->conexao->getCon(), $sql);

return $resultado;
}

}

?>

cidade.php

<?php

header("Content-Type: text/html; charset=UTF-8",true);

include '../Classes/Conexao.php';
include '../Classes/DAO/cidadeDao.php';

$cidadeDao = new cidadeDao();

$consulta = $cidadeDao->consultarTodos();

for ($i = 0; $i < mysqli_num_rows($consulta); $i++){
$linha = mysqli_fetch_array($consulta);

$respostas [] = array (
'id' => $linha['id'],
'id_uf' => $linha['id_uf'],
'cidade' => utf8_encode($linha['cidade'])
);
}

echo json_encode($respostas);
?>

当我检查生成的 json 时,它看起来像这样:

[{"id":"1","id_uf":"1","cidade":"Sorocaba"},
{"id":"2","id_uf":"5","cidade":"Niter\u00f3i"},
{"id":"3","id_uf":"1","cidade":"Tatui"},
{"id":"4","id_uf":"1","cidade":"Itu"}]

谁能帮帮我?

如何在 php 中处理带有重音符号和特殊字符的单词?

最佳答案

来自PHP Manual page on JSON Constants (你真的应该从这里开始)

JSON_UNESCAPED_UNICODE

Encode multibyte Unicode characters literally (default is to escape as \uXXXX). Available since PHP 5.4.0.

所以

json_encode('Niterói', JSON_UNESCAPED_UNICODE);

http://php.net/manual/en/function.json-encode.php

编辑:另请参阅评论,了解此方法可能存在问题的原因(它实际上违反了 JSON 的 RFC)。

关于php - php中带有json的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45548400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com