Foros del Web » Programando para Internet » PHP »

problema de UTF8!! (es mysql o php)

Estas en el tema de problema de UTF8!! (es mysql o php) en el foro de PHP en Foros del Web. Hola chicos que tal como estan pues tengo un problema grande y es que no se pero si por ejemplo yo escribo "Acontinuación" en php ...
  #1 (permalink)  
Antiguo 30/12/2013, 16:40
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 11 meses
Puntos: 2
problema de UTF8!! (es mysql o php)

Hola chicos que tal como estan pues tengo un problema grande y es que no se pero si por ejemplo yo escribo "Acontinuación" en php (formulario) y lo envio a bd. Pues se escribe mal. Pero al momento de leerlo si funciona perfecto!!!. No lo sabia pero ahora el problema es que estoy trabajando con otro lenguaje de programación y con este el problema es que este si lo inserta bn. Pense que era un error de php por que intente de mil maneras y la unica que me funciono fue una donde le quite el head en el cual esta UTF-8 pero no funciona como yo quiero. Lo cierto es hace poco cai en cuenta que phpmyadmin esta en php he hize una prueba y ahi si funciona perfectamente. osea si se escribe Ñandu se escribe en bd ñandu. Busque si es que phpmyadmin no tenia el head utf8 pero si lo tiene entonces la verdad no se endonde esta mi error. creanmen ya le he dado la vuelta a la web pero no sale nada que me sirva. y tengo problemas con mis usuarios :( .No se si hay que hacer algo en mysql o en php
  #2 (permalink)  
Antiguo 30/12/2013, 17:01
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 11 años, 2 meses
Puntos: 9
Respuesta: problema de UTF8!! (es mysql o php)

Prodrias hacer esto..

Código PHP:
Ver original
  1. $variable = utf8_decode(mysqli_real_escape_string($conexion, $_POST['usuario']));

O también en ves de definirla en la variable
lo haces.del tiron en la consutal..

Código PHP:
Ver original
  1. Utf8_decode($_POST['usuario'])

solo son ejemplos para que te hafas una idea del utf8_decode..
Y si no da resultado prueba con utf8_encode

Saludos.
  #3 (permalink)  
Antiguo 31/12/2013, 06:25
 
Fecha de Ingreso: noviembre-2011
Mensajes: 117
Antigüedad: 13 años
Puntos: 2
Respuesta: problema de UTF8!! (es mysql o php)

hola! yo a parte de poner el cotejamiento de la bbdd con utf-8, le pongo en mi archivo de conexión:

Código PHP:
mysql_query("SET NAMES 'utf8'"); 
y en cada página:

Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
y funciona perfectamente, inserte o lea siempre salen bien, no te aconsejo lo que dice TSG, eso son apaños y remiendos. Poniendo correctamente una configuración para utf-8 debe funcionar perfecto.

Última edición por eamanesims; 31/12/2013 a las 06:45
  #4 (permalink)  
Antiguo 31/12/2013, 10:38
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: problema de UTF8!! (es mysql o php)

seria buscar esa funcion

Código PHP:
Ver original
  1. mysql_query("SET NAMES 'utf8'");
pero en la libreria mysqli gracias voy a intentar
  #5 (permalink)  
Antiguo 31/12/2013, 11:08
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: problema de UTF8!! (es mysql o php)

Bueno añadiendo a lo que ya han dicho los colegas. Si vas a trabajar con UTF8 debes de revisar lo siguiente:

La base de datos debe de estar en UTF8

Especificar el SET NAMES UTF8 (a veces necesario como comenta @eamanesims)

Los archivos donde escribes deben estar codificados en UTF8 sin BOOM

Debes de especificar un charset al documento html (como dijo @eamanesims), aunque este punto lo puedes hacer con la etiqueta meta (cambia de acuerdo a si es HTML4 o HTML5), con .htaccess o con header de php.

Como ves no son pocas cosas que debes de revisar...

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #6 (permalink)  
Antiguo 01/01/2014, 16:44
Avatar de Pelipe  
Fecha de Ingreso: abril-2011
Ubicación: Nuestra Señora de La Paz
Mensajes: 90
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: problema de UTF8!! (es mysql o php)

Si usan PDO para la conexion seri algo asi:

Código PHP:
Ver original
  1. $db = new PDO("mysql:host=$BBDD_Servidor;dbname=$BBDD_NombreBBDD;charset=UTF8", "$BBDD_Usuario", "$BBDD_Clave", array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

Etiquetas: formulario, mysql, usuarios
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 22:08.