[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Gracias, bastante explicativo. Todos mis documentos los mando con iso-8859-1, para solucionar mi problema, lo que hice fue comparar el httpd.conf de otro servidor web en el que tengo varias de estas aplicaciones contra en el que tengo la que me esta dando problemas, encontre, gracias a la orientación que me dieron ustedes que una diferencia que pudiera estar causando esto era: - En el webserver en que estoy corriendo esta aplicación tenia: AddDefaultCharset UTF-8 - En otro tenía: AddDefaultCharset ISO-8859-1 - Y en otro servidor ni siquiera estaba, aunque es un 1.3.22. En fin comentando esa linea (AddDefaultCharset UTF-8) en el httpd.conf ahora todo funciona como siempre, ya puedo seguir siendo feliz. Por lo que me dices puede que esto sea sólo un espejismo; pero la verdad nunca he tenido problemas de este tipo hasta hoy y bueno al final resulta ser por una directiva de apache, que por supuesto no digo que este mal, de hecho tu mismo asi me lo recomiendas, pero pues obio que si estoy mandando todo en iso-8859-1 y el default del server es utf-8 no iba a funcionar. Al final, para mis necesidades y las del sistema esta solución es perfecta, en otras circunstancias tal vez no, pero para esta sí y es en mucho gracias a los tips que ustedes me pasaron. Saludos! -----Original Message----- From: Salvador Ortiz Garcia [mailto:sog en msg com mx] Sent: Tuesday, May 11, 2004 3:20 PM To: Oscar Sosa Cc: ayuda en linux org mx Subject: RE: [Ayuda] Acentos en apache Ok, yo también tengo mis dudas: Cuando en un formulario te capturan un palabra con acentos, en que charset (encoding) está ese caracter acentuado? En que charset lo guardas en la base de datos? En que charset espera tu terminal que le envíes caracteres con acentos? Si no tienes idea sigue leyendo, porque has de saber que no existe una única forma de representar un caracter acentuado. Lo único que demuestra tu prueba es que en si capturas en una forma de _TU_ navegador una 'á', y guardas lo que recibiste, que quien sabe que sea, y luego se lo mandas a _TU_ navegador (o cualquier otro que esté configurado en el mismo charset) verás una 'á'. Y pues eso es obvio pues tu navegador y tu navegador ;-) usan el mismo charset. Tu problema es que: 1. Cuando lo guardas en tu base de datos, no sabes en que charset lo estás guardando. 2. Cuando lo pides desde tu terminal, no lo estas convirtiendo al charset que tu terminal espera y pues si no sabes como lo guardaste pues está difícil que lo puedas convertir. 3. Al liberar tu aplicación, es muy probable que se tope con navegadores usando encodings distintos y entonces la misma palabra, digamos 'Ñoño', podrá quedar guardada de muchas formas, lo que no creo que te haga mucha gracia. Solución: 1. Decide en que charset quieres almacenar siempre los datos. La recomendación es UTF-8. 2. Verifica siempre que recibas un POST, en que charset vienen los datos, y si se requiere has la conversión a tu estándar antes de almacenarlos. 3. Antes de enviarlos a cualquier lado, navegadores, terminales, etc, verifica que charset espera el destinatario o si puedes influirlo (p.e. puedes en HTML) has las conversiones necesarias y siempre envía los encabezados requeridos. Te quedará claro que no es un problema de configuración, moviendole a tu configuración sólo estarás a lo más, ocultando el problema pues no puedes influir en la configuración de otras terminales, navegadores, usuarios, etc. Es un problema de programación. Saludos. On Tue, 2004-05-11 at 12:35, Oscar Sosa wrote: > 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; -- Salvador Ortiz Garcia <sog en msg com mx> Matías Software Group