Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Gestion del "CHARSET" desde la conexion PHP

Estas en el tema de Gestion del "CHARSET" desde la conexion PHP en el foro de PHP en Foros del Web. Tomando como referencia, http://www.php.net/manual/es/mysqli.set-charset.php , realice los cambios correspondientes a mis conexiones con la db de la siguiente manera: antes: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver ...
  #1 (permalink)  
Antiguo 22/04/2014, 07:28
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 36
Gestion del "CHARSET" desde la conexion PHP

Tomando como referencia, http://www.php.net/manual/es/mysqli.set-charset.php, realice los cambios correspondientes a mis conexiones con la db de la siguiente manera:

antes:

Código PHP:
Ver original
  1. $mysqli = new mysqli($db_host, $db_usuario, $db_password, $db_basedatos);
  2. $mysqli->query("SET NAMES 'utf8'");


ahora:

Código PHP:
Ver original
  1. $mysqli = new mysqli($db_host, $db_usuario, $db_password, $db_basedatos);
  2. $mysqli->set_charset("utf-8");


Pero al realizar el cambio se me presentan los problemas con la visualizacion de las letras con acentos y las ñ.

Aclaro que los charset de las paginas estan en "charset=utf-8" y las bases de datos estan en "utf8_general_ci".


Alguna solución?

Última edición por alexisverano; 22/04/2014 a las 07:34
  #2 (permalink)  
Antiguo 22/04/2014, 07:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Gestion del "CHARSET" desde la conexion PHP

Deberías validar si t está funcionando, tal como dice el manual de PHP
Código PHP:
Ver original
  1. ?php
  2. $mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "test");
  3.  
  4. /* verificar la conexión */
  5.     printf("Falló la conexión: %s\n", mysqli_connect_error());
  6.     exit();
  7. }
  8.  
  9. /* cambiar el conjunto de caracteres a utf8 VALIDANDO QUE HAYA OCURRIDO EL CAMBIO */
  10. if (!$mysqli->set_charset("utf8")) {
  11.     printf("Error cargando el conjunto de caracteres utf8: %s\n", $mysqli->error);
  12. } else {
  13.     printf("Conjunto de caracteres actual: %s\n", $mysqli->character_set_name());
  14. }
  15.  
  16. $mysqli->close();
  17. ?>
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 22/04/2014, 08:28
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 36
Respuesta: Gestion del "CHARSET" desde la conexion PHP

Gracias gnzsoloyo, ya esta solucionado:

Código PHP:
Ver original
  1. $mysqli = new mysqli("localhost", "usuario", "contraseña", "base_datos");
  2.  
  3. // Verificando la conexión
  4. if ($mysqli->connect_error) {
  5.    printf ("Falló la conexión a la base de datos" ."<br>");
  6.    printf ('Error: (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
  7.    exit();
  8. }
  9.  
  10. //Verificando el Juego de Caracteres    
  11. if (!$mysqli->set_charset("utf8")) {
  12.    printf("Error cargando el conjunto de caracteres utf8: %s\n", $mysqli->error);
  13. }
  14.  
  15. $mysqli->close();

Etiquetas: charset, conexion, gestion, mysql, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:41.