Problemas con la codificacion XAjax
Descripcion
Si se esta usanado xAjax en paginas web es posible que en algunas ocaciones se encuentran caracteres extraños en las bases de datos caracteres como “Ậ” en ves de aparecer letras con acentos como “á”, esta situacion no se debe tratar de solucionar con funciones que tranmsformen carateres, este problema es debido a la codificacion que tiene su pagina WEB y la codificacion que maneja xAjax.
Explicacion
El constructor del objeto xajaxResponse, el cual debeser usado en la funcion que implementa el procedimiento con Xajax por defecto manej codificacion utf-8 y en su pagina WEB por efectos de presentacion uted usa iso-8859-1 o latin1.
Como puede notar el tipo de codificacion cambia ya que son diferentes las codificaciones que se manejan en xAjax y la pagian WEB.
Pasos para mostrar caracteres espueciales desde una base de datos a una pagina HTML que usa Xajax
Garantizar que los datos proveniente de la base de datos se muestre de forma correcta.
1 Los datos que estan en la base de datos tienen caracteres especiales como “á, é, í,ó,ú”.
2 Al ser mostrados estos caracteres en la pagina HTML se debe realizar un tratamiento especial para garantizar la correcta visualizacion al realizarla transformacion correcta entre los carcateres especiales y su referencia deentidad, es decir que transforme elñ caracter “á” por “á” garantizando la correcta visualizacion de los datos.
Logica de la manipulacion de la informacion
1. En la carga inicial de la pagina esta ya debe traer los valores que estan inicialmente almacenados en una base de datos, el procedimiento seria:
1.1 Consultar a la base de datos.
1.2 Obtener los datos del campo que usted requiere.
1.3 Imprima el valor deseado con ayuda de la la funcion htlmentites(
) para garanteizar la correcta visualizacion de la base de datos.
2. Al realizar ediciones sobre los valores actualmente almacenados en la base de datos se hace uso de xAjax de la siguiente forma
2.1 En el forulario y con ayuda del metodo onChange de cada uno de los text que usted pernita hacer ediciones y en lenguaje de javascript llame a la funcion xajax que le realiza la actualizacion, recuerde que en este punto la codificacion que esta usando es la de la pagina WEB, es decir iso-8859-1.
2.2 LA funcion xAjax recibe los parametros y se procede a convertirlos en la codificicacion que xAjax maneja utf-8, con la funcion utf8_decode();
2.3 Realize todos los procedimientos que su funcion implementa.
2.4 Antes de retornar el valor tiene que convertir la odificacion actual que usa xAjax de utf-8 a la que usa quien toma la respuesta HTML con codificacio iso-8859-1 con ayuda d ela funcion utf8_encode();
2.5 Retorne el valor en el id neceseario.
Pasos para almacenar caracteres especiales en bases de datos
Este error se presenta y es causa por la codificacion en el caso que su pagina web:
1. Use codificacion charset=”iso-8859-1″
2. El objeto de xAjax use codificacion “utf-8″
3. Dentro de sus formulario utilize caracteres fuera de la codificacion como “ñ” o caracteres acentuados tales como “á, é, í,ó,ú”.
Funciones php neceseraias
1. htmlentites () : Esta funcion transforma los caracteres que se indica en el parametro de entreda y los convierte en su equivalente HTML, es decir, si un parametro de entrada es el caracter “ñ”, la funcion devolvera” ñ”.
2. utf8_encode(): Codifica a utf-8.
2. utf8_decode(): Decodifica de utf-8.