Esta breve entrada sera para la posteridad, me servira a mi y a mas de alguno en internet.
Llevo en total 3 horas (desde ayer y parte de hoy) peleando con un reporte que simplemente no funcionaba en php reports, el xml esta bien, las variables estan bien, codificación utf-8 bien, xml bien armado, y probado en una máquina de pruebas corriendo php 5.3.x con win 7 y funcionando, pero cuando lo pase al servidor (un linux) no iba.
Asi que, al trabajar con PHPReports, encarecidamente debes revisar esto cuando un reporte te de problemas:
Llevo en total 3 horas (desde ayer y parte de hoy) peleando con un reporte que simplemente no funcionaba en php reports, el xml esta bien, las variables estan bien, codificación utf-8 bien, xml bien armado, y probado en una máquina de pruebas corriendo php 5.3.x con win 7 y funcionando, pero cuando lo pase al servidor (un linux) no iba.
Asi que, al trabajar con PHPReports, encarecidamente debes revisar esto cuando un reporte te de problemas:
- Codificación correcta del archivo, en mi caso trabajo con utf-8, esto lo podes verificar en un linux con el comando file -i mi_archivo.txt.
- Estructura del xml correcta, especial enfasis cuando usas muchos < group>< /group> para armar el reporte.
- Uso adecuado de funciones como utf8_encode(), ya que si le mandas un string en utf8, utf8_encode() tratara de convertirlo en utf8 y posiblemente de un error raro y de problemas con la salida del reporte.
- Y antes que nada, verificar que, si el xml tiene texto con caracteres especiales (á, é, í, ó, ú, ñ) cambiarlos para probar que ese no sea el problema, ya que puede interferir en la salida del reporte en html.
En esta ocasión eso me paso a mi, tenia esto
y lo cambie a esto
y el reporte magicamente funciono, el problema era la á en Página, ¿porque?, ni idea, tengo otro montón de reportes que tienen esa palabra tildada y no dan problemas.
Espero que le sirva a alguien mas que a mi.
//CAMBIAR GOL POR COL, QUE BLOGGER NO ME DEJABA'Página'.$this->getPageNum()
y lo cambie a esto
//CAMBIAR GOL POR COL, QUE BLOGGER NO ME DEJABA'Pagina'.$this->getPageNum()
y el reporte magicamente funciono, el problema era la á en Página, ¿porque?, ni idea, tengo otro montón de reportes que tienen esa palabra tildada y no dan problemas.
Espero que le sirva a alguien mas que a mi.