我想从mysql数据库中打印Json数据,但是数据在浏览器中没有正确显示。我输入带有重音的名字,例如:José或L'Alcudia(他们是西班牙名字) 我有两个php文件,一个用于将数据插入数据库,另一个用于返回JSON数据。 另一方面,我有一个允许我输入数据的html文件(表格)。
//HTML FILE
<!DOCTYPE html>
<html lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<header></header>
<body>
<form id="formulario" name="formulario" method="post" action="insertar_persona.php" enctype="multipart/form-data">
<p>Nombre:</p>
<input type="text" name="nombre" value="nombre" />
<br/><br/>
<input type="submit" id="insertar" name="insertar" value="Insertar"/>
</form>
</body>
</html>
//INSERT PHP FILE
<?php header ('Content-type: text/html; charset=utf-8');
//Credenciales de la BBDD
$db = "prueba";
$host = 'localhost';
$username = "dpbataller";
$password = '1234';
//Conectamos al servidor de la Base de datos
$link = mysql_connect($host,$username,$password) or die("No se puede conectar");
//Seleccionamos la BBDD
@mysql_select_db($db) or die ("No se ha podido seleccionar a la base de datos");
//Lanzamos la consulta
$consulta = mysql_query("INSERT INTO personas (id,nombre) VALUES ('','$_POST[nombre]')");
?>
//GET JSON DATA
<?php header ('Content-type: text/html; charset=utf-8');
//Credenciales de la BBDD
$db = "prueba";
$host = 'localhost';
$username = "dpbataller";
$password = '1234';
//Conectamos al servidor de la Base de datos
$link = mysql_connect($host,$username,$password) or die("No se puede conectar");
//Seleccionamos la BBDD
mysql_select_db($db) or die ("No se ha podido seleccionar a la base de datos");
//Lanzamos la consulta
$consulta = mysql_query("SELECT id,nombre from personas");
//Creamos un array para almacenar los resultados
$filas = array();
//Agregamos las filas devueltas al array
while ($r = mysql_fetch_assoc($consulta)) {
$filas[] = $r;
}
//Devolvemos el resultado
echo json_encode($filas);
?>
当我尝试通过浏览器显示数据时显示:
[{"Id": "1", "name": "Jos \ u00e9"}]
数据库和表的编码是utf-8_spanish_ci
会发生什么?有人帮帮我吗?
答案 0 :(得分:0)
尝试将内容类型更改为:application / json
<?php header ('Content-type: application/json; charset=utf-8');
答案 1 :(得分:0)
您可以使用以下功能:
function encodeIt($array) {
return json_encode(array_map('base64_encode', $array));
}
function decodeIt($string) {
return array_map('base64_decode', json_decode($string));
}