Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/02/2010, 14:56
Avatar de Jandor
Jandor
 
Fecha de Ingreso: septiembre-2009
Mensajes: 71
Antigüedad: 14 años, 7 meses
Puntos: 1
Exclamación Ayuda con tildes en EZPDF

Hola amigos del foro, aqui molestando, pues tengo un problemita algo raro, sucede lo siguiente:
Utilizo la clase de EZPDF de R&OS para crear reportes con php en formato pdf, la creación de dichos reportes es un exito, pero tengo un problemilla, el cual es que cuando saco los valores de la BD, los caracteres como á, é, í, ó, ú me salen en cogigo como este ó = ó, para el caso de la O, ya he probado de todo, la codifcaion tanto a la hora de almacenar como sacar de BD es utf8, igual en la BD, probe con htmlentities y peor, aparte de eso estuve investigando y encontre que el problema era el pdf, entonces cree una funcion para corregir esos caracteres, la cual funciona con todos menos con los que se saco de BD....

dejo funcion para que se vea:

Código PHP:
//Funcion para decodificar
    
define("UTF_8"1);
    
define("ASCII"2);
    
define("ISO_8859_1"3);
    function 
codificacion($texto)
    {
     
$c 0;
     
$ascii true;
     for (
$i 0;$i<strlen($texto);$i++) {
         
$byte ord($texto[$i]);
         if (
$c>0) {
             if ((
$byte>>6) != 0x2) {
                 return 
ISO_8859_1;
             } else {
                 
$c--;
             }
         } elseif (
$byte&0x80) {
             
$ascii false;
             if ((
$byte>>5) == 0x6) {
                 
$c 1;
             } elseif ((
$byte>>4) == 0xE) {
                 
$c 2;
             } elseif ((
$byte>>3) == 0x14) {
                 
$c 3;
             } else {
                 return 
ISO_8859_1;
             }
         }
     }
     return (
$ascii) ? ASCII UTF_8;
     } 
     
    function 
utf8_decode_seguro($texto)
     {
         return (
codificacion($texto)==ISO_8859_1) ? $texto utf8_decode($texto);
         } 
         
    
$a="Ascii";
    
$b="ISO-8859-1: áéíóú";
    
$c=utf8_encode($b); 
necesito ayuda , si alguien sabe de otra manera agradesco de antemano