Foros del Web » Programando para Internet » PHP »

PHP OO Problema con acentos en PHP

Estas en el tema de Problema con acentos en PHP en el foro de PHP en Foros del Web. Hola a todos. Tengo un problema con una web, actualmente la tengo en local trabajando con xampp, por lo que no os la puedo enseñar. ...
  #1 (permalink)  
Antiguo 18/12/2012, 07:00
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Problema con acentos en PHP

Hola a todos.

Tengo un problema con una web, actualmente la tengo en local trabajando con xampp, por lo que no os la puedo enseñar. Tengo un problema con los acentos, me salen un rombo con una interrogación dentro. He leído muchos muchos post y consejos que hay en este foro, pero es que ninguno tiene el mismo problema que yo. Me explico:

En el index, tengo acentos y se muestran correctamente.
En otras páginas y en el pie de página (que es otro archivo php) también.
Pero hoy he creado una página. (que es el exactamente el mismo código que el index) donde incluyo cabecera + pie de página y el contenido si cambia, y aquí no se muestra.

En el header tengo puesto:
Código PHP:
<meta charset="utf-8"
y
Código PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
He leido de poner esto

Código PHP:
header('Content-Type: text/html; charset=iso-8859-1'); 
(o similares entre <?php y ?>) que funcionan, pero me empiezan a fallar en el index. Es decir, se me muestra en esta página en cuestión correctamente y en el index no.

Y repito, el código usado en las 2 páginas y la cabecera que es donde inclucyo los meta son las mismas.

Perdon por el tocho, y muchas gracias. Un saludo
  #2 (permalink)  
Antiguo 18/12/2012, 07:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con acentos en PHP

Lo más importante es, ¿con qué codificación guardas tus archivos? Si no los estás guardando en el formato que le dices al navegador que están (UTF-8 en este caso) lógicamente no los mostrará bien.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 18/12/2012, 07:03
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Problema con acentos en PHP

Supongo que no habrás visto que en el metatag usas un juego de caracteres diferente que al enviar las cabeceras.

De todas formas, también tienes que guardas tus archivos .php, .html y demás con el mismo tipo de codificación —normalmente un editor de texto te da esa opción al guardar como/save as.
  #4 (permalink)  
Antiguo 18/12/2012, 07:07
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema con acentos en PHP

Cita:
Iniciado por David Ver Mensaje
Lo más importante es, ¿con qué codificación guardas tus archivos? Si no los estás guardando en el formato que le dices al navegador que están (UTF-8 en este caso) lógicamente no los mostrará bien.
Perdon por mi ignorancia, pero llevo mucho tiempo sin tocar PHP y estoy algo "oxidado".

Esos meta los pongo solo en la cabecera, y al guardar el archivo lo hago en "guardar como .php" ¿Tengo que poner esos meta en todos los archivos aunque la cabecera esté incluida en estos?
  #5 (permalink)  
Antiguo 18/12/2012, 07:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con acentos en PHP

No entiendo tu pregunta. Yo no me refiero a que en cada archivo tengas una etiqueta <meta>, me refiero a la codificación con que se guarda el archivo en sí. Como comentó Bonez, eso lo haces desde tu editor de código.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 18/12/2012, 07:30
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema con acentos en PHP

Yo uso Dreamweaver, y cada vez que creo un archivo le doy a crear archivo PHP, pero borro todo lo que aparece por defecto, puesto que las etiquetas que aparecen como html head y body ya las tengo en mi cabecera
  #7 (permalink)  
Antiguo 18/12/2012, 07:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con acentos en PHP

No uso Dreamweaver, pero por ahí te sirve esto:
http://help.adobe.com/en_US/dreamwea...F6F709A4a.html
Ahí te indica cómo se hace para cambiar la codificación del documento con ese programa.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 18/12/2012, 07:38
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Problema con acentos en PHP

Si usas Dreamweaver ve al menu Edicion>Preferencias

Luego en esa ventana, en categorias, elijes Nuevo documento y ahi hay una opcion que dice "Codificacion pred" selecciona UTF-8

Crea de nuevo los archivos luego de hacer esta configuracion, puedes copiar y pegar el codigo de los archivos anteriores y guardalos normalmente.
  #9 (permalink)  
Antiguo 18/12/2012, 07:46
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema con acentos en PHP

Cita:
Iniciado por HackGhost Ver Mensaje
Si usas Dreamweaver ve al menu Edicion>Preferencias

Luego en esa ventana, en categorias, elijes Nuevo documento y ahi hay una opcion que dice "Codificacion pred" selecciona UTF-8

Crea de nuevo los archivos luego de hacer esta configuracion, puedes copiar y pegar el codigo de los archivos anteriores y guardalos normalmente.
Muchas gracias a los 2. En cuanto a lo que dices, ya está por defecto, concretamente UNICODE UTF-8. ¿A qué se puede deber entonces?

Bueno visto que seguramente haya metido yo la pata por algún lado, imaginad que empiezo de 0 la web.

Pongo esto en la cabecera:

Código PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
meta charset="utf-8"
Teniendo en cuenta que actualmente no trabajo con BBDD, ¿Que tendría que hacer más para que funcionase?

Última edición por elgranblog; 18/12/2012 a las 08:06
  #10 (permalink)  
Antiguo 18/12/2012, 08:25
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Problema con acentos en PHP

Cuando creas un documento nuevo en DW ya te genera el codigo necesario, yo lo utilizo asi y solo le agrego lo demas que no tiene nada que ver con la codificacion
__________________
Recursos para diseñadores
lacatedradeboris.com
  #11 (permalink)  
Antiguo 18/12/2012, 08:27
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema con acentos en PHP

Cita:
Iniciado por HackGhost Ver Mensaje
Cuando creas un documento nuevo en DW ya te genera el codigo necesario, yo lo utilizo asi y solo le agrego lo demas que no tiene nada que ver con la codificacion
¿Entonces puede ser problema del apache de xampp?
  #12 (permalink)  
Antiguo 18/12/2012, 08:34
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Problema con acentos en PHP

Probaste ver la pagina desde otro navegador? no creo que xampp tenga algo que ver..
__________________
Recursos para diseñadores
lacatedradeboris.com
  #13 (permalink)  
Antiguo 18/12/2012, 08:44
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema con acentos en PHP

Si, tanto con Chrome, como con Firefox. Acabo de probar una cosa que he leido en un post antiguo de este foro y me ha complicado más la cosa:

1. Si pongo esto en la cabecera:
Código PHP:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> 
No se muestran los acentos en el pie de página ni cabecera pero si en el resto de la web.

2. Si pongo esto en la cabecera:
Código PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
Si se muestran los acentos en el pie de página y cabecera pero no en el resto de la web.

Teniendo en cuento que mi web funciona así (todas las páginas tienen el mismo código):

Include de cabecera

Contenido página en cuestión

Include de pie de página


¿Que puede ser? Esto es muy muy raro. ¿Supongo que el haber incluido código de jquery no me estará provocando esto no?

Os pongo el código de mi cabecera:


Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//ES" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
title>Anuncios</title>

<
link rel="stylesheet" href="css/1.css" type="text/css" media="all">
<
link rel="stylesheet" href="css/2.css" type="text/css" media="all">
<
link rel="stylesheet" href="css/3.css" type="text/css" media="all">
<
script type="text/javascript" src="js/jquery-1.6.js" ></script>
<script type="text/javascript" src="js/cufon-yui.js"></script>
<script type="text/javascript" src="js/cufon-replace.js"></script>  
<script type="text/javascript" src="js/Forum_400.font.js"></script>
<script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js/tms-0.3.js"></script>
<script type="text/javascript" src="js/tms_presets.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript" src="js/atooltip.jquery.js"></script> 

<meta name="title" content="Anuncios ">
<META NAME="keywords" CONTENT="anuncios, clasificados, españa">
<META NAME="description" CONTENT="Anuncios en toda España">
<meta http-equiv="Content-Language" content="es">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> 
<meta name="distribution" content="global">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  #14 (permalink)  
Antiguo 18/12/2012, 08:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con acentos en PHP

El problema evidente es que el archivo para la cabecera y el pie de página están guardados con la codificación correcta mientras que los demás archivos está en otra codificación, ¿ya intentaste la conversión que te indiqué en otro mensaje o el guardar un archivo nuevo luego de configurada la codificación por defecto como te indicó HackGhost?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 18/12/2012, 08:58
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Problema con acentos en PHP

OK. CUANDO pones esto
Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
El contenido se ve bien pero el resto no, y cuando lo cambias sucede a la inversa, entonces tu contenido esta en ISO-8859-1 y el resto en UTF-8.

Prueba creado de nuevo los archivos como te dije, los de contenido.
__________________
Recursos para diseñadores
lacatedradeboris.com
  #16 (permalink)  
Antiguo 18/12/2012, 09:49
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema con acentos en PHP

Cita:
Iniciado por HackGhost Ver Mensaje
OK. CUANDO pones esto
Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
El contenido se ve bien pero el resto no, y cuando lo cambias sucede a la inversa, entonces tu contenido esta en ISO-8859-1 y el resto en UTF-8.

Prueba creado de nuevo los archivos como te dije, los de contenido.
Muchas gracias ya lo he solucionado. No se si es que dreamweaver se volvio loco, yo toque algo... lo cierto es que todos y cada uno de los archivos los cree de igual forma. Lo que he hecho es lo que me dijisteís más arriba. He ido creando nuevos archivos para cada página he copiado el código antiguo en la nueva página y listo. Y ahora (parece) funcionar todo. Menos mal, me estaba volviendo loco. Muchas gracias a todos.

Ahora la última pregunta y no os molesto más. Cuando crees la BD, supongo que tengo que ponerle esta¿no? tanto a la tabla como a los campos, uft8_spanish_ci
  #17 (permalink)  
Antiguo 18/12/2012, 10:08
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Problema con acentos en PHP

Solo dejalo en el predeterminado si no lo manejas...
__________________
Recursos para diseñadores
lacatedradeboris.com
  #18 (permalink)  
Antiguo 18/12/2012, 10:21
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema con acentos en PHP

Cita:
Iniciado por HackGhost Ver Mensaje
Solo dejalo en el predeterminado si no lo manejas...
No me permite dejarlo en blanco, trabajo con phpmyadmin
  #19 (permalink)  
Antiguo 18/12/2012, 10:29
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Problema con acentos en PHP

entonces elige el general, uft8_general_ci, con eso deberia ir bien.
__________________
Recursos para diseñadores
lacatedradeboris.com
  #20 (permalink)  
Antiguo 18/12/2012, 10:40
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema con acentos en PHP

Muchas gracias :)

Etiquetas: acentos, html
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:01.