Foros del Web » Programando para Internet » PHP »

Ayuda con tildes en EZPDF

Estas en el tema de Ayuda con tildes en EZPDF en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/02/2010, 14:56
Avatar de Jandor  
Fecha de Ingreso: septiembre-2009
Mensajes: 71
Antigüedad: 15 años, 3 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
  #2 (permalink)  
Antiguo 10/03/2010, 04:27
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
Respuesta: Ayuda con tildes en EZPDF

buenas,

encontre esto, que a mi me ha servido, sobretodo para el quebradero de las Ñ

Cita:
$text = utf8_decode($text);

Lo primero que hay que hacer es cambiar los permisos al archivo ya que es de solo lectura, una vez hechos los cambios se busca la linea 2156 y veran esto:

function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjus t=0){
if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');}

Se agrega la linea y queda asi:

function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjus t=0){
$text = utf8_decode($text);
if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');}
http://my.opera.com/hreyes/blog/2010...lass-y-acentos
Link original -> http://listas.softwarelivre.org/pipe...ay/002350.html

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #3 (permalink)  
Antiguo 15/03/2010, 07:51
Avatar de uokesita  
Fecha de Ingreso: enero-2008
Ubicación: Maracaibo
Mensajes: 214
Antigüedad: 16 años, 11 meses
Puntos: 17
Respuesta: Ayuda con tildes en EZPDF

si no quieres meterte con la clase ezpdf solo debes encerrar tu texto en la funcion utf8_encode();

Etiquetas: ezpdf, tildes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:02.