Reemplazar caracteres especiales por tildes y eñes al Generar PDF con Cezpdf y php
Estoy generando los PDF con la classe Cezpdf, pero no logro conseguir que imprima adecuadamente las Tildes y las eñes.
El resultado que obtengo es así:
En PHP lo he solucionado utilizando el código:
header('Content-Type: text/html; charset=ISO-8859-1');
pero al usar la classe Cezpdf no tiene efecto alguno.
Mi código fuente es el siguiente:
¿<?php if (!isset($_SESSION)) { session_start();} ini_set('default_charset','utf-8'); header('Content-Type: text/html; charset=ISO-8859-1'); $propiedad = $_SESSION['nombre_prop'];$nit = $_SESSION['nit_prop']; $direccion = $_SESSION['direccion_prop']; $ciudad = $_SESSION['ciudad_prop']; $id_prop = $_SESSION['id_prop']; $logo = $_SESSION['imagen']; require_once('src/Cezpdf.php'); include('class.backgroundpdf.php'); $pdf =& new Cezpdf('LETTER','portrait'); $pdf->selectFont('src/fonts/Helvetica-BoldOblique.afm'); $pdf->ezSetCmMargins(1,1,1.5,1.5); $conexion = mysql_connect("localhost", "XXXXXXXXXX", "XXXXXXXXXX"); mysql_select_db("g7000610_admin", $conexion); $resultado_consulta_mysql=mysql_query($consulta_mysql,$conexion); $queEmp = "SELECT bdedp.nombre as BdeDP, bdedp.maticula as Matricula, propietarios.nombre as Propietario, bdedp.area as Area, bdedp.porc_t as Porcentaje, bdedp.tabla as Tabla FROM bdedp inner join propietarios on bdedp.id_propietario = propietarios.id WHERE bdedp.propiedad = '$id_prop' AND bdedp.activo = 'S' ORDER BY bdedp.tabla, bdedp.nombre"; $resEmp = mysql_query($queEmp, $conexion) or die(mysql_error()); $totEmp = mysql_num_rows($resEmp); $ixx = 0; while($datatmp = mysql_fetch_assoc($resEmp)) { $ixx = $ixx+1; $data[] = array_merge($datatmp); } $titles = array( 'BdeDP'=>'<b>Nombre BdeDP</b>', 'Matricula'=>'<b>Matrícula</b>', 'Area'=>'<b>Area M2</b>', 'Propietario'=>'<b>Propietario</b>', 'Porcentaje'=>'<b>Por Part %</b>', 'Tabla'=>'<b>Tabla</b>' ); $titles = mb_convert_encoding($titles, "ISO-8859-1", "UTF-8"); $options = array( 'shadeCol'=>array(0.9,0.9,0.9), 'xOrientation'=>'center', 'width'=>500 ); $txttit.= " \n"; $txttit = "<b>$propiedad</b>\n"; $pdf->ezImage("../Logotipos/uploads/".$logo, 00,100,100,100); $txttit.= "$direccion \n"; $txttit.= "$ciudad \n"; $txttit.= " \n"; $txttit.= "Listado de Bienes de Dominio Particular de la Copropiedad \n"; $txttit.= " \n"; $datacreator = array ( 'Title'=>'Bienes de Dominio Particular de '.$propiedad, 'Subject'=>$propiedad, 'Author'=>'si-RPH', 'Producer'=>'http://www.legis.club' ); $pdf->addInfo($datacreator); $pdf->ezText($txttit,16,array('justification'=>'center')); //$pdf->ezText($txttit, 12); $pdf->ezTable($data, $titles, '', $options); $pdf->ezText("\n\n\n", 10); $pdf->ezText("<b>Fecha del Informe:</b> ".date("Y-m-d"), 10); $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10); $pdf->ezStream(); ?>
en el Manual de la classe hablan de:
ini_set('default_charset','utf-8');
Pero tampoco me ha funcionado.
¿Alguien del foro puede darme una mano para solucionar este inconveniente?
2 Respuestas
Respuesta de willerenver terrero
Respuesta de Don Rajuela