Foros del Web » Programando para Internet » PHP »

Problema con la codificación en sistema de noticias

Estas en el tema de Problema con la codificación en sistema de noticias en el foro de PHP en Foros del Web. Buenas tardes. Estoy desarrollando una web con sistema de noticias. He elegido PHPNews, que me parece francamente interesante y me da la funcionalidad que necesito. ...
  #1 (permalink)  
Antiguo 03/08/2009, 11:13
 
Fecha de Ingreso: abril-2009
Mensajes: 10
Antigüedad: 15 años
Puntos: 0
Problema con la codificación en sistema de noticias

Buenas tardes.
Estoy desarrollando una web con sistema de noticias.
He elegido PHPNews, que me parece francamente interesante y me da la funcionalidad que necesito.
Pero tengo un problema, las ñ y las letras con tílde me figuran como: �
Yo lo veo como problema de codificación de caracteres. SOLO me aparece en el sistema de noticias, en el resto de la web se me ve perfecto. Al previsualizar las noticias a través de phpnews no aparece este problema, por lo tanto supongo que será cuestión de la base de datos.

Utilizo webcindario, la web la tengo codificada como UTF-8.
Datos base de datos:

# Versión del servidor: 5.0.22-Debian_0ubuntu6.06.2
# Versión del protocolo: 10
# Servidor: mysql.webcindario . com via TCP/IP
# Usuario: ----
# Juegos de caracteres de MySQL: UTF-8 Unicode (utf8)
# Cotejamiento de las conexiones MySQL: -> Aquí se abre un menú desplegable con varias decenas de opciones.

Pruebe la que pruebe, sigue el problema.

¿A alguien se le ocurre una solución?

Gracias


EDITO: En la base de datos la información se guarda correctamente.

si accedo directamente a la noticia:
h t t p :// *.webcindario. com/phpnews/news. php se ve la noticia a la perfección.
En la web integro las noticias asi:

<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<p>
<?php
include("./phpnews/news.php");
?>
</p>
</td>
</tr>
</table>

Asi que he acotado aun más el error, pero sigo sin saber resolverlo.

Última edición por pucel4n0; 03/08/2009 a las 11:50
  #2 (permalink)  
Antiguo 03/08/2009, 13:04
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con la codificación en sistema de noticias

Asegurate de guardar tus scripts con UTF sin BOM, en el bloc de notas (Win) seleccionas Menu -> Archivo -> Guardar como... en la siguiente ventana cambias la codificacion de ANSI a UTF-8; en Notepad++ abres el archivo, seleccionas Menu -> Formato -> Codificar en UTF-8 y despues lo grabas normalmente.

Tambien incluye la siguiente linea en el encabezado HTML (entre <head> y </head>):

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 03/08/2009, 13:21
 
Fecha de Ingreso: abril-2009
Mensajes: 10
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con la codificación en sistema de noticias

Gracias pero me temo que ninguna de esas es la solución, ya que

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ya la tenía incluida.

Edito a través de Dreamweaver, y la opción de guardar incluyendo firma unicode BOM está desactivada por defecto.

Yo me inclino a que el problema está en la función include, pero no sé como resolverlo a ver si me explico:

Con phpnews genero noticias. Dichas noticias se almacenan en la base de datos. Si las visualizo DIRECTAMENTE no hay ningún error. Esta página, solo contiene texto. Al incluir en la tabla el texto, via include() es cuando me sale el error.

De todas formas hay algo que acabo de notar. Al visualizar la noticia de forma externa a mi página principal se ve correctamente PERO, en firefox, si hago "ver>codificacion de caracteres" me aparece iso-8859-1. Si lo cambio a UTF-8 me da los mismos problemas que antes.
Pero si mi base de datos utiliza codificación UTF-8, ¿cómo es posible? a alguien se le ocurre que me pasa?

Gracias
  #4 (permalink)  
Antiguo 03/08/2009, 13:25
 
Fecha de Ingreso: abril-2009
Mensajes: 10
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con la codificación en sistema de noticias

He encontrado una solución con algo simple y que no llego a entender.
Si cambio la codificación de mi página a iso-8859-1, no existen los problemas que mencionaba.
Pero no lo entiendo, porque mi base de datos es UTF-8.
Tenía entendido que era recomendable utilizar UTF-8 siempre, si a alguien se le ocurre una solución con UTF-8 se lo agradezco.
Si pensais que estoy en un error respecto a que UTF es mejor, me gustaría que me lo hicieseis saber.

Muchas gracias a Triby por su ayuda.
  #5 (permalink)  
Antiguo 03/08/2009, 13:44
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con la codificación en sistema de noticias

La explicacion puede ser tan sencilla como que tu base de datos esta codificada e ISO y no en UTF. Por ejemplo, tanto en localhost, como en el servidor, MySQL esta configurado tambien con UTF-8, pero en mis tablas yo especifico otra codificacion:

CREATE TABLE `countries` (
`cnid` int(3) unsigned NOT NULL AUTO_INCREMENT,
`cnname` varchar(40) collate latin1_spanish_ci NOT NULL,
`cnshow` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`cnid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci AUTO_INCREMENT=242 ;

Para que esta tabla sea UTF, tendria que cambiar los latin1 por utf8

Para que todo funcione como tiene que ser, debes asegurarte que la base de datos, tus archivos (al guardarlos) y la etiqueta meta correspondiente tengan la misma codificacion.

Entonces, si te funciona bien cuando cambias de UTF a ISO, supongo que tus tablas no son UTF.

En cuanto a cual codificacion es mas recomendable, creo que depende mas de tus preferencias y el publico que esperas recibir en tu web. Por mas que me digan que UTF es mejor porque soporta mas caracteres y bla bla bla, mientras ISO cubra mis necesidades lo seguire usando; cuando piense en una web multi-idioma, entonces pensare en UTF.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 03/08/2009, 14:20
 
Fecha de Ingreso: abril-2009
Mensajes: 10
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con la codificación en sistema de noticias

Muchas gracias de nuevo por tu ayuda triby.
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 00:31.