[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]On Thu, 2004-05-06 at 19:20, Lista de Linux wrote: > Bueno tengo un problema con el servidor web apache, no muestra los > acentos, > La configuración del httpd.conf incluye las directivas, entre otras: ... > cuando pongo un acento por ejemplo ó ú é no me muestra cosas extrañas > , se que si pongo desde html por ejemplo á pondria el acento, pero > la idea es ponerlo en ascii. ... Ok, vamos por partes, primero un pequeño test para _tu_ sistema: áéíóú <- Ves aquí las cinco vocales acentuadas? Ahora tres comentarios, luego un poco de ayuda: - Ningún servidor de WEB "muestra" acentos, en todo caso el que podría mostrarlos es el navegador. - Las directivas de configuración que muestras sirven únicamente para que el server pueda seleccionar entre varios documentos alternativos cuando el navegador le solicita algún lenguaje/encoding específico. - No existe tal cosa como un "acento en ascii", por definición ASCII es un código de sólo 7 bits. Por lo que la forma de generar caracteres acentuados usando ASCII es precisamente usando "char entities" del tipo "á" En los encabezados de tu mensaje original dice a la letra: Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Sin embargo los caracteres acentuados que vienen en él (conservados arriba) están codificados en UTF-8 y no en ISO-8859-1. Y esto viene a cuento precisamente por que la única manera en que un _navegador_ muestre correctamente caracteres con acentos (y muchos otros) es que conozca la codificación en que vienen y sea la correcta. Cuando el navegador solicita una entidad incluye sus preferencias, mi mozilla por ejemplo dice: Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Lo que le permitirá al apache seleccionar una de varias entidades a devolver, pero para eso requiere obviamente tener las varias versiones en el caso de documentos estáticos, o que los generadores que tengas (cgis, servlets, etc) generen la adecuada. Además si la entidad no está codificada en ISO-8859-1, ésta necesita incluir en sus propios encabezados la codificación utilizada. En tu apache tienes varias versiones de tus documentos? Estos incluyen los encabezados correctos? El navegador que estás usando para tus pruebas, que codificación espera/asume? Hoy por hoy los Linuxes modernos utilizan por default UTF-8, por lo que si usas, por ejemplo 'vim' para editar tus archivos HTML, es muy probable que estos estén codificados en UTF-8, sin embargo si apache no lo sabe, y no tiene forma de saberlo si tu no se lo dices, lo asumirá ISO-8859-1 y lo mismo hará tu navegador, pues ISO-8859-1 es el default estándar en HTML y como no habrá ningún encabezado que diga la verdad la cosa no funcionará. Así que si quieres que en tu navegador se vean bien los acentos en tu HTML tienes de dos O utilizas únicamente ASCII y por tanto "á" O lo codificas en lo que tú quieras, ISO-8859-1, UTF-8, etc. pero se lo informas al navegador, lo más facil usando <META http-equiv="Content-Type" content="text/html; charset=foobar"> Por supuesto, cerciorándote que que lo que pongas en "charset" sea efectivamente la codificación usada. Ya si después quieres que tu apache tenga varias versiones distintas, entonces usas las directivas que mencionaste. Saludos PD. También tienes que arreglar tu agente con que escribes correo electrónico. -- Salvador Ortiz Garcia <sog en msg com mx> Matías Software Group