[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Gracias por responder, pero no se, tengo mis dudas, esto me parece más una solución del lado del cliente, pero yo siento como que mi problema es del servidor porque mira: El problema ya no es tanto que el navegador no los muestre correctamente, eso se soluciona con el famoso "acute"; tampoco puedo guardarlo asi en la base de datos porque los registros que se inserten luego se tienen que exportar a un archivo de texto de formato estricto para meterlo en un sistema contable, y por ejemplo: si tengo un formulario html y en ese formulario me capturan una palabra con acento al hacer el submit y guardar el registro en la bd, este aparece luego al hacer un select directo en la terminal con caracteres muy extraños, luego si obtengo ese registro (solo para probar) y lo imprimo en html tal cual sin pasar acentos a entidades html, entonces el acento aparece perfectisimo, tal cual, incluso al ver el html source con el navegador tambien ves el acento, con lo que me queda claro que mi mozilla sabe como mostrar eso por lo que el navegador no creo que sea el problema; ahora bien pudiera pensarse que entonces el problema es solo que la terminal que uso (putty) o el shell del servidor simplemente no saben como mostrarme los acentos, pero entonces, porque al aplicar la funcion htmlentities() de php me aparece nuevamente basura muy extraña??... Eso es lo que me saca de onda. Que podrá ser? Sospecho que el problema esta en la configuración global del sistema, ya no tanto de apache mucho menos del navegador, aparte, tengo otro server con redhat 8 y nunca me ha pasado esto alli, y en ambos tengo sistemas en PHP que hacen practicamente lo mismo, manipular bases de datos mysql. Igual puedo estar equivocado, por eso quiero aprovecharme de la experiencia de ustedes =P Gracias, saludos. -----Original Message----- From: ayuda-admin en linux org mx [mailto:ayuda-admin en linux org mx] On Behalf Of Lista de Linux Sent: Tuesday, May 11, 2004 11:44 AM To: oscar en websitemx com Cc: ayuda en linux org mx Subject: Re: [Ayuda] Acentos en apache Te envio la explicación y dentro de esta la solución, creo yo, espero te sirva. (gracias a Salvador O.) > 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. > > > _______________________________________________ Ayuda mailing list Ayuda en linux org mx Para salir de la lista: http://mail.linux.org.mx/cgi-bin/mailman/listinfo/ayuda/