Problemas con ACENTOS y Ñ
Publicado por Ernesto Serigos (1 intervención) el 19/09/2006 18:34:24
Llevamos 2 meses intentando solucionar un grave problema en nuestro Site y no logramos resolverlo. Les cuento la situación:
Hay cinco elementos que hay que configurar en una aplicación web para que los caracteres de un idioma específico se desplieguen correctamente, que son los siguientes:
- Codificación de aplicación, que se configura en el código fuente.
- Juego de caracteres de aplicación, que se configura en el código fuente.
- Codificación de base de datos, que configuramos nosotros (y que ya está hecho).
- Codificación de servidor web (que ya hizo la empresa de hosting en USA)
- Codificación de la conexión entre el servidor de aplicaciones (ColdFusion) y la base de datos (MySQL).
Tanto el Hosting como nosotros hemos realizado los primeros 4 pasos, es decir que tanto la base de datos como la aplicación tienen la codificación y el juego de caracteres correcto (para español ISO-8859-1 o UTF-8), lo cual lo notas en que las variables y los datos introducidos con acentos y eñes pasan de una página de ColdFusion a otra sin perderse y que cuando los caracteres son grabados en la base de datos desde Navicat o cualquier otro gestor de MySQL se conservan tal y como fueron escritos.
El problema se encuentra en el 5º punto, que es la conexión con la base de datos. Esto hay dos formas de realizarlo:
1. ColdFusion viene con algunos drivers integrados para conectarse con las bases de datos más populares, entre las que está MySQL; sin embargo, estos drivers no son configurables por el usuario y ofrecen funcionalidades de conexión que pretenden tener compatibilidad con la mayor cantidad de versiones de MySQL posibles (en el caso de ColdFusion, utiliza los drivers para la versión 4 y nosotros tenemos la 5). Este es el método que utiliza nuestra empresa de Hosting.
2. Además de esta posibilidad, ColdFusion ofrece la posibilidad de realizar una conexión directa, con drivers "personalizados" que utilicen el protocolo JDBC (Java DataBase Connectivity). La conexión con este método asegura la compatibilidad exacta con la versión de la base de datos que se utiliza, además de permitir definir un juego de caracteres específicos en la conexión. Este método es el que utilizo yo para conectarme con la base de datos desde mi ordenador y el que utilizan Navicat y otros gestores de MySQL. De tal suerte que si yo meto caracteres especiales en el Backoffice, puedo leerlos tal y como los escribí (aún conectando con la base de datos hospedada en la empresa de Hosting).
El problema es que la empresa de Hosting ha intentado realizar la conexión con este método, pero no lo ha logrado debido a que cada vez que lo intentan aparecen errores y ColdFusion parece no reconocer los drivers que están utilizando, aunque en teoría es un procedimiento relativamente sencillo y los drivers son fáciles de conseguir. En el punto 1 de esta página http://www.pedromontero.es/coldfusion_artdet.cfm?idArticulo=3 hay dos enlaces, uno oficial de Adobe con las instrucciones oficiales en inglés (que en su momento envié a la empresa de Hosting) y otro con la ubicación de los drivers JDBC en la página de MySQL. También puedes entrar a http://www.pedromontero.es/coldfusion_artdet.cfm?idArticulo=2 y ver los pasos que ya se han realizado para tratar de solucionar el problema.
Despues de todo esto seguimos sin poder ver las Ñ y acentos.
HELP!!
Hay cinco elementos que hay que configurar en una aplicación web para que los caracteres de un idioma específico se desplieguen correctamente, que son los siguientes:
- Codificación de aplicación, que se configura en el código fuente.
- Juego de caracteres de aplicación, que se configura en el código fuente.
- Codificación de base de datos, que configuramos nosotros (y que ya está hecho).
- Codificación de servidor web (que ya hizo la empresa de hosting en USA)
- Codificación de la conexión entre el servidor de aplicaciones (ColdFusion) y la base de datos (MySQL).
Tanto el Hosting como nosotros hemos realizado los primeros 4 pasos, es decir que tanto la base de datos como la aplicación tienen la codificación y el juego de caracteres correcto (para español ISO-8859-1 o UTF-8), lo cual lo notas en que las variables y los datos introducidos con acentos y eñes pasan de una página de ColdFusion a otra sin perderse y que cuando los caracteres son grabados en la base de datos desde Navicat o cualquier otro gestor de MySQL se conservan tal y como fueron escritos.
El problema se encuentra en el 5º punto, que es la conexión con la base de datos. Esto hay dos formas de realizarlo:
1. ColdFusion viene con algunos drivers integrados para conectarse con las bases de datos más populares, entre las que está MySQL; sin embargo, estos drivers no son configurables por el usuario y ofrecen funcionalidades de conexión que pretenden tener compatibilidad con la mayor cantidad de versiones de MySQL posibles (en el caso de ColdFusion, utiliza los drivers para la versión 4 y nosotros tenemos la 5). Este es el método que utiliza nuestra empresa de Hosting.
2. Además de esta posibilidad, ColdFusion ofrece la posibilidad de realizar una conexión directa, con drivers "personalizados" que utilicen el protocolo JDBC (Java DataBase Connectivity). La conexión con este método asegura la compatibilidad exacta con la versión de la base de datos que se utiliza, además de permitir definir un juego de caracteres específicos en la conexión. Este método es el que utilizo yo para conectarme con la base de datos desde mi ordenador y el que utilizan Navicat y otros gestores de MySQL. De tal suerte que si yo meto caracteres especiales en el Backoffice, puedo leerlos tal y como los escribí (aún conectando con la base de datos hospedada en la empresa de Hosting).
El problema es que la empresa de Hosting ha intentado realizar la conexión con este método, pero no lo ha logrado debido a que cada vez que lo intentan aparecen errores y ColdFusion parece no reconocer los drivers que están utilizando, aunque en teoría es un procedimiento relativamente sencillo y los drivers son fáciles de conseguir. En el punto 1 de esta página http://www.pedromontero.es/coldfusion_artdet.cfm?idArticulo=3 hay dos enlaces, uno oficial de Adobe con las instrucciones oficiales en inglés (que en su momento envié a la empresa de Hosting) y otro con la ubicación de los drivers JDBC en la página de MySQL. También puedes entrar a http://www.pedromontero.es/coldfusion_artdet.cfm?idArticulo=2 y ver los pasos que ya se han realizado para tratar de solucionar el problema.
Despues de todo esto seguimos sin poder ver las Ñ y acentos.
HELP!!
Valora esta pregunta


0