Foros del Web » Programando para Internet » PHP »

problema al mostrar las tildes de la base de datos

Estas en el tema de problema al mostrar las tildes de la base de datos en el foro de PHP en Foros del Web. Hola a todos! Vereis, el problema que tengo es que no se como va el tema este del charset, esta linea que se pone al ...
  #1 (permalink)  
Antiguo 06/08/2010, 03:19
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
problema al mostrar las tildes de la base de datos

Hola a todos!

Vereis, el problema que tengo es que no se como va el tema este del charset, esta linea que se pone al principio de la pagina (disculpad mi ignorancia pero es que no se nada de este tema)
yo al principìo de mi pagina tengo puesto esto (entre otras cosas) y no se para que sirven:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<meta name="keywords" content="" />

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

si pudiesen explicarme para que sirve cada cosa y si hay algun codigo mejor que esos diganmelo, tambien tengo otro problema, al meter un texto tal cual en la pagina con tildes me las muestra sin problemas, pero cuando los datos los extraigo de una BD, las tildes aparecen como caracteres extraños

Espero que me puedan ayudar por que no se si tienen relacion lo anterior con lo de las tildes. Un saludo y gracias!
  #2 (permalink)  
Antiguo 06/08/2010, 03:47
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 6 meses
Puntos: 10
Respuesta: problema al mostrar las tildes de la base de datos

Según tengo entendido, que no es una "verdad universal", la primera línea define el lenguaje que vas a usar: le estás diciendo XHTML estricto, es decir, que para que sea válido (comprobable a través de W3C) ha de seguir estrictamente lo que dice la W3C del XHTML.

La siguiente línea son las palabras clave, separadas por coma, que son miradas por el buscador para un mejor posicionamiento (no estoy seguro del grado de influencia que tiene)

La última línea le estás diciendo lo que viene a continuación: HTML en UTF-8

Para que se vean las tildes, puedes usar en php htmlentities(cadena) o si no va utf8_encode(cadena).

Si sigue sin ir, puedes cambiar el charset de UTF-8 a ISO-8859-1

Suerte!
__________________
Buscando ideas para proyectos....

Esperando a tener 18 años....
  #3 (permalink)  
Antiguo 06/08/2010, 04:04
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: problema al mostrar las tildes de la base de datos

gracias por tu ayuda!

me sirvio y me salen ya las tildes, pero ahora tengo otro problema jeje y es que al sacar las noticias de la BD usando el htmlentities me salen los <br> y todo el texto seguido sin saltos de linea. Alguna idea de como puedo hacer que se ejecuten los <br> y no se muestren?? muchas gracias!
  #4 (permalink)  
Antiguo 06/08/2010, 04:12
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 6 meses
Puntos: 10
Respuesta: problema al mostrar las tildes de la base de datos

Se me han ocurrido varias cosas:
Si puedes cambiar la bases de datos, cambia los<br> por \n y pon nl2br(htmlentities(cadena)); Debería funcionar pero no aseguro nada.

Si no te va, se puede mirar de idear algo para que ignore los <br> pero es algo complicado.

Finalmente, se puede cambiar de UTF-8 a lo que te he dicho antes (ISO 8859-1??) y quitar los htmlentities

__________________
Buscando ideas para proyectos....

Esperando a tener 18 años....
  #5 (permalink)  
Antiguo 06/08/2010, 04:32
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: problema al mostrar las tildes de la base de datos

gracias de nuevo!

he probado lo de cambiar los <br> por \n y funciona en parte jeje digo en parte por que me hace el salto de linea pero me muestra el \n

otra cosilla como hago para cambiar de UTF-8 a (ISO 8859-1??) esque de este tema de los caracteres no tengo ni idea =S
  #6 (permalink)  
Antiguo 06/08/2010, 04:34
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 6 meses
Puntos: 10
Respuesta: problema al mostrar las tildes de la base de datos

Es raro que muestre los \n y haga los saltos de línea....

En la tercera línea que me mostrastes en el primer post:

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

cambia utf-8 por ISO 8859-1.
__________________
Buscando ideas para proyectos....

Esperando a tener 18 años....
  #7 (permalink)  
Antiguo 06/08/2010, 04:52
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: problema al mostrar las tildes de la base de datos

ya he cambiado de UTF a ISO y nada... lo que me estoy dando cuenta es que la \n en realidad no es lo que afecta a los saltos de linea, si no que los <br> se ejecutan por el nl2br(htmlentities(cadena)); el problema es que no solo se ejecutan si no que tambien se muestran =S
  #8 (permalink)  
Antiguo 06/08/2010, 05:04
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 6 meses
Puntos: 10
Respuesta: problema al mostrar las tildes de la base de datos

si cambias a iso, para que vaya, deberías quitar el htmlentities. Igualmente, es raro que se haga el salto de línea y se escriba el <br>. Cuando lo cambiaste por \n, borraste los <br> o solo los pusistes al lado?
__________________
Buscando ideas para proyectos....

Esperando a tener 18 años....
  #9 (permalink)  
Antiguo 09/08/2010, 04:26
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: problema al mostrar las tildes de la base de datos

cuando pongo el ISO si he quitado el htmlentities, y cuando puse los \n se me muestran los \n y cuando vuelvo a cambiar los \n por <br> sigue igual, se ejecutan por el nl2br pero tambien se muestran =S ya no se que hacer

Etiquetas: tildes
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 07:59.