0

Quisiera pedir de su ayuda; estoy utilizando la librería FPDF para generar pdf anteriormente mi proyecto lo corría en el sistema operativo Windows pero, por cuestiones de requerimientos del proyecto, ahora lo corro con Ubuntu. En Windows todo funcionaba bien al generar el pdf, pero ahora ya no y he descubierto que es es por utilizar utf8_decode().

Necesito de su ayuda por favor.

jachguate
  • 25,659
  • 7
  • 35
  • 61
Drake
  • 1
  • 1
  • 4
  • Podrías mostrar un ejemplo del string que le pasas a `utf8_decode`? Qué pasa si de plano no usas la función y le pasas el texto tal cual a fpdf? – ffflabs Nov 03 '18 at 21:02
  • PD: qué significa que "ya no funciona bien"? Significa que te salen caracteres raros? – ffflabs Nov 03 '18 at 21:09
  • muchas gracias @amenadiel mira esto es lo que le pongo al 'utf8 $pdf->cell (0,7,utf8_decode("Años, °C"),0,0,'L');' exacto no funciona bien, por que también geberaba codigos QR pero ahora ya no lo hace, no llama las funciones no entiendo por que no lo hace... de antemano mil gracias por tomarte el tiempo y responder – Drake Nov 03 '18 at 21:29
  • Víctor, te recomendarías que implementes una *verdadera política* de codificación, por llamarle de alguna manera. En cualquier aplicación la información se mueve en diferentes niveles. Si estás teniendo problemas de codificación, en vez de resolver el problema aplicando la codificación a cada cadena de texto, establece una codificación uniforme en los diferentes niveles en que se mueven los datos: HTML (encabezados del documento y/o archivo) / PHP / Conexión a la base de datos / Datos en la Base de datos. [Puedes ver aquí](https://es.stackoverflow.com/a/59510/29967) para más detalles. – A. Cedano Nov 03 '18 at 21:33
  • gracias por tu consejo @A.Cedano, eso es uno de los problemas de mi codigi y el otro jjajaj si me pudieras ayudar, es que no me llama las funciones por ejemplo al generar un codigo QR QRcode::png($contendio,$filename,$level,$tamaño,$framesize); al llamar esta parte no la hace y en mi navegador dice error 500 – Drake Nov 03 '18 at 21:37
  • Los errores 500 suelen ocurrir cuando algo anda mal en el servidor. Por ej, un PHP con un punto mal puesto o que te olvides poner un `;` al final de una línea normal te da un error 500. De QR no puedo decirte nada porque no uso esa tecnología. Si quieres ahorrar tiempo programando aprende a depurar usando el log de errores. Debes activarlo si no está y, según tu configuración, cada vez que hay un error te escribirá el motivo de ese error en ese archivo. Sabiendo dónde está lo revisas cuando ocurra un error y corriges. Como digo, a veces el código falla por errores tan tontos como un punto. – A. Cedano Nov 03 '18 at 21:40
  • a Ok entiendo y intentare activando el log, muchas gracias. sabes como activarlo ? @A.Cedano – Drake Nov 03 '18 at 21:43
  • `utf8_encode` lo único que hace es convertir UTF8 a ISO-8859-1, que tiene un set mucho más limitado. A lo mejor la implementación en windows es más flexible y por eso te funcionaba. Tal vez, si la librería es capaz de parsear entidades HTML, debieras intentar `mb_convert_encoding("Años, °C", 'HTML-ENTITIES', 'UTF-8')` – ffflabs Nov 03 '18 at 21:44
  • muchas gracias @amenadiel intentare esto, gracias en verdad – Drake Nov 03 '18 at 21:47
  • Víctor la activación del log de errores depende de la plataforma que estés usando. Puedes investigar al respecto según la plataforma. [Aquí se explican algunas](https://es.stackoverflow.com/q/116419/29967). No es algo demasiado complicado de hacer y vale la pena. – A. Cedano Nov 03 '18 at 21:51
  • Gracias @A.Cedano intentare – Drake Nov 03 '18 at 21:56
  • Que tal e logrado corregir mis errores, me hacia falta instalar una paqueteria de php que es gd, para graficos e imagenes. – Drake Nov 10 '18 at 18:10

0 Answers0