Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2014, 09:15
matiD
 
Fecha de Ingreso: octubre-2008
Mensajes: 85
Antigüedad: 15 años, 7 meses
Puntos: 0
Acentos y Ñ cuando tomo datos de la BD

Como están?

Estoy montando un sitio que le he puesto charset UTF-8 ya que me lo recomendaron para no tener problemas con acentos y ñ

Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Ahora bien, mientras escribo el código en HTML no tengo ningún problema escribo directo con Ñ y acento y todo perfecto se muestra sin problema.

El problema surge cuando tomo valores de una base de datos y los imprimo por php y eso que la base de datos la cree con charset utf8 también para intentar evitar estos problemas

Este es un ejemplo de datos que tomo de una tabla y se imprimen con el famoso � en lugar la ñ: (ejemplo preciso Dueño lo imprime Due�o)

Código SQL:
Ver original
  1. -- Creamos la tabla de tipo usuario, se necesita como referencia para la tabla 'usuarios'.
  2. CREATE TABLE IF NOT EXISTS tipo_usuario(
  3.     id_tipo_usuario TINYINT UNSIGNED AUTO_INCREMENT,
  4.     descripcion VARCHAR(9),
  5.     PRIMARY KEY(id_tipo_usuario)
  6. ) ENGINE=innodb DEFAULT CHARACTER SET =utf8 COLLATE=utf8_spanish_ci;
  7.  
  8. -- Insertamos dentro de la tabla tipo_usuario los tipos de usuario del sistema.
  9. INSERT INTO tipo_usuario (descripcion) VALUES
  10. ('Dueño'),
  11. ('Encargado'),
  12. ('Empleado'),
  13. ('Invitado');

he leido por ahí que usando las funciones utf_encode y decode se puede salvar este problema, pero mi consulta reside a si hay alguna forma de imprimir directamente las ñ y los acentos de la base de datos, porque si cada vez que tomo un valor debo ejecutar una función no lo veo muy funcional que digamos.

Desde ya muchas gracias!!!