Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] UTF-8 entre PHP, MySQL y HTML

Estas en el tema de UTF-8 entre PHP, MySQL y HTML en el foro de PHP en Foros del Web. Tengo que activar la codificación UTF-8 para poder escribir en español con tildes. Lo tengo activo en MySQL (utf-8-spanish-ci o algo así) y en html ...
  #1 (permalink)  
Antiguo 15/07/2015, 11:25
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
UTF-8 entre PHP, MySQL y HTML

Tengo que activar la codificación UTF-8 para poder escribir en español con tildes. Lo tengo activo en MySQL (utf-8-spanish-ci o algo así) y en html (<meta charset="utf-8"/>). Para PHP me han aconsejado header('Content-Type: text/html; charset=UTF-8');
pero tengo dos problemas: 1: que no funciona y 2: que no sé dónde colocarlo. Gracias.
  #2 (permalink)  
Antiguo 15/07/2015, 11:44
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: UTF-8 entre PHP, MySQL y HTML

Preferiblemente debas añadir la codificación desde el server (.htaccess):

Código Apache:
Ver original
  1. AddDefaultCharset UTF-8
  #3 (permalink)  
Antiguo 15/07/2015, 11:47
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: UTF-8 entre PHP, MySQL y HTML

No me funciona tampoco.
  #4 (permalink)  
Antiguo 15/07/2015, 11:48
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: UTF-8 entre PHP, MySQL y HTML

Debes de colocarlo antes de imprimir cualquier dato o se producirá un error. Más detalles aquí.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 15/07/2015, 14:05
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: UTF-8 entre PHP, MySQL y HTML

¿Has probado con UTF-8_bin en MySQL?
__________________
¿Te sirvió la respuesta? Deja un +1
  #6 (permalink)  
Antiguo 15/07/2015, 14:11
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: UTF-8 entre PHP, MySQL y HTML

Pues sigue sin funcionarme.
  #7 (permalink)  
Antiguo 16/07/2015, 01:31
 
Fecha de Ingreso: julio-2015
Ubicación: Palma de Mallorca
Mensajes: 10
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: UTF-8 entre PHP, MySQL y HTML

¿Estás especificando la codificación a la hora de conectarte a la base de datos?

En mi caso, uso PDO y mi cadena para MySQL siempre suele verse de esta guisa:

Código:
$pdo = new \PDO("mysql:host=XXXX;dbname=YYYY;charset=utf8", $user, $password);
La opción del header() me parece innecesaria ya que, por defecto y a no ser que hayas especificado alguna codificación como la ISO 8859-1 en alguno de tus archivos de configuración de LAMP/LEMP, deberías tener la codificación UTF-8 por defecto en cualquier stack moderno.

Etiquetas: html, mysql, utf-8
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 23:08.