Este blog esta destinado para la comunidad desarrolladora de software, en el podrán encontrar trucos, atajos o consejos de diferentes lenguajes de programación o frameworks, tanto de tipo desktop como web. Si quieres participar como editor por favor hacerlo saber escribiendo un correo a cualquiera de los editores.

miércoles, 2 de febrero de 2011

symfony , base de datos postgres codificada en ascii y Ajax

Hola a todos

Les cuento, necesitaba trabajar con symfony sobre una base de datos postgres codificada en sql_ascii, estaba utilizando extjs(trae Ajax ya implementado), y cuando mandaba una lista de datos a la pagina principal, todo lo que tenia tildes o ñ no aparecia es decir mandaba null, pero si imprimia con echo($dato) me aparecia con un caracteres de desconocido, lo primero que pensamos con gus fue que era el charset, y no era, buscando con gus encontramos que el problema era que las peticiones ajax lo que traen lo interpretan como utf-8 y todo lo que era raro desaparecia porque symfony internamente parceaba las cadenas con una funcion en php que ponia null en todo lo que tenia caracteres especiales.

La solucion

  • utf8_encode para mandar los datos


  • utf8_decode antes de ingresar a la base de datos es decir cuando hecemos objPeer-setAtt(utf8_decode($param));

  • poner database.encoding = iso-8859-1 en los archivos de configuracion de symfony propel.ini y database.ini


No hay comentarios: