Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/05/2012, 01:53
dpbataller
 
Fecha de Ingreso: agosto-2009
Mensajes: 134
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Codificación acentos Json y PHP

Siento ser pesado en éste tema, chicos peros sois los únicos que podéis ayudarme.
Sigue sin funcionar, he probado lo que me has dicho GatorV, pero sigue saliendo igual.
Vuelvo a pegar el código para que sea más cómodo seguir la problemática

//index.html

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.  
  3. <html lang="es">
  4.  
  5.     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  6. </head>
  7.     <form id="formulario" name="formulario" method="post" action="insertar_persona.php" enctype="multipart/form-data"> 
  8.         <p>Nombre:</p>
  9.         <input type="text" name="nombre" value="nombre" />     
  10.         <br/><br/>
  11.         <input type="submit" id="insertar" name="insertar" value="Insertar"/>
  12.    
  13.     </form>
  14.    
  15. </body>
  16.  
  17. </html>

//insertar_persona.php

Código PHP:
Ver original
  1. <?php
  2. header ('Content-type: text/html; charset=utf-8');
  3. //Credenciales de la BBDD
  4. $db = "prueba";
  5. $host = 'localhost';
  6. $username = "dpbataller";
  7. $password = '1234';
  8.  
  9. //Conectamos al servidor de la Base de datos
  10. $link = mysql_connect($host,$username,$password) or die("No se puede conectar");
  11.  
  12. //Seleccionamos la BBDD
  13. mysql_select_db($db) or die ("No se ha podido seleccionar a la base de datos");
  14. mysql_set_charset('utf8', $link);
  15. //Lanzamos la consulta
  16. $consulta = mysql_query("INSERT INTO personas (id,nombre) VALUES ('','$_POST[nombre]')");
  17.  
  18. ?>


mostrar_persona.php

Código PHP:
Ver original
  1. <?php
  2. header("Content-Type: text/html; charset=UTF-8");
  3. //Credenciales de la BBDD
  4. $db = "prueba";
  5. $host = 'localhost';
  6. $username = "dpbataller";
  7. $password = '1234';
  8.  
  9. //Conectamos al servidor de la Base de datos
  10. $link = mysql_connect($host,$username,$password) or die("No se puede conectar");
  11. //Seleccionamos la BBDD
  12. mysql_select_db($db) or die ("No se ha podido seleccionar a la base de datos");
  13. mysql_set_charset('utf8', $link);
  14. //Lanzamos la consulta
  15. $consulta = mysql_query("SELECT id,nombre from personas");
  16. //Creamos un array para almacenar los resultados
  17.  
  18. $filas = array();
  19.  
  20. //Agregamos las filas devueltas al array
  21. while ($r = mysql_fetch_assoc($consulta)) {
  22.    
  23.     $filas[] = $r; 
  24.    
  25. }
  26.  
  27. //Devolvemos el resultado
  28. echo json_encode($filas);
  29.  
  30. ?>

Los registros que he insertado desde el index.html son:
José <-- LLeva acento
Miguel
David

En la tabla de la base de datos,aparecen bien, José con acentos y los demás normal, pero al ejecutar el script mostrar_personas.php muestra lo mismo de antes

[{"id":"1","nombre":"Jos\u00e9"},{"id":"2","nombre" :"Miguel"},{"id":"3","nombre":"David"}]

Tengo un problema de codificación y no consigo resolverlo
Gracias por la paciencia, de verdad.