[Ayuda] Acentos en apache

Salvador Ortiz Garcia sog en msg.com.mx
Mar Mayo 11 15:20:20 CDT 2004


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


 
_______________________________________________
Ayuda mailing list
Ayuda en linux.org.mx
Para salir de la lista: http://mail.linux.org.mx/cgi-bin/mailman/listinfo/ayuda/



Más información sobre la lista de distribución Ayuda