santos_s 12 Denunciar post Postado Agosto 16, 2014 Olá, Estou com problemas com acentuações quando vou gerar meu pdf. Seque código: $sql = mysql_query("SELECT * FROM tab_agricultores WHERE id = '$id'")or die(mysql_error()); $result = mysql_fetch_array($sql); $html.='<table width="657" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="384"><strong>DADOS DE CADASTRO</strong><br /> <span class="textos"><strong>Data de Cadastro:</strong> '.$result['data_cadastro'].'</span><br /> <span class="textos"><strong>Cadastrador:</strong> '.$result['cadastrador'].'</span><br /> <span class="textos"><strong>Gerado em :</strong> '.date('d/m/Y').' </span></td> <td width="52" align="right"><img src="img/header.jpg" width="230" height="70"></td> </tr> </table> <hr /> <h2><table align="center"><tr><td width="384"><strong>Dados do Agricultor</strong></td></tr></table></h2> <div id="dados"> <p><strong>Nome:</strong> '.$result['nome'].'</strong> <strong>Apelido:</strong> '.$result['apelido'].'</p> <p><strong>Cpf:</strong> '.$result['cpf'].' <strong>Rg:</strong> '.$result['rg'].'</p> <p><strong>Data Nascimento:</strong> '.$result['data_nascimento'].'</p> <p><strong>Sexo:</strong> '.$result['sexo'].'</p> <p><strong>Membros: </strong>'.$result['membros'].'</p> <hr /> <div id="dados"> <p><strong>Nome:</strong> '.$result['nome'].'</strong> <strong>Apelido:</strong> '.$result['apelido'].'</p> <p><strong>Cpf:</strong> '.$result['cpf'].' <strong>Rg:</strong> '.$result['rg'].'</p> <p><strong>Data Nascimento:</strong> '.$result['data_nascimento'].'</p> <p><strong>Sexo:</strong> '.$result['sexo'].'</p> <p><strong>Membros: </strong>'.$result['membros'].'</p> </html>'; $html = utf8_decode($html);//decodificando o tipo de charset do documento Veja que o corpo do pdf gerado esta sendo decodificado para utf_decode, só que o resultado da consulta não está sendo decodificado fica assim Ant?nio.quando tento decodificar com header("Content-Type: text/html; charset=ISO-8859-1"); ele decodifica o resultado da consulta mais os campos do corpo($html) fica sem aceitar caracteres especiais. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
marsolim 110 Denunciar post Postado Agosto 16, 2014 cara eu costumo usar os códigos html para fazer isso. porque de todas as formas que codifico a página e o banco e tudo mais acontece vez ou outra de dar esse problema e vejo até paginas de grandes sites supostamente codificada de forma correta apresentar esse problema tambem quando abro. por isso para alguns casos uso uma função para dar mudar "á" para "á" por exemplo. Compartilhar este post Link para o post Compartilhar em outros sites
santos_s 12 Denunciar post Postado Agosto 16, 2014 cara eu costumo usar os códigos html para fazer isso. porque de todas as formas que codifico a página e o banco e tudo mais acontece vez ou outra de dar esse problema e vejo até paginas de grandes sites supostamente codificada de forma correta apresentar esse problema tambem quando abro. por isso para alguns casos uso uma função para dar mudar "á" para "á" por exemplo. Tentei a ini_set('default_charset','UTF-8'); mais não deu certo. Qual voce ultiliza? é só substituir no texto? Compartilhar este post Link para o post Compartilhar em outros sites
marsolim 110 Denunciar post Postado Agosto 16, 2014 eu tenho um formulario de contato que envia as mensagens para o meu email que quando eu rodava no meu site usando meu pc enviava tudo certo mas quando alguem me enviava de outro pc os acentos nao vinha direito. então criei uma função e faço a conversão apenas para o envio das mensagens mais ou menos assim function codificado($texto){ $campo = $texto; $campo = str_replace("á", "á", $campo); $campo = str_replace("ã", "ã", $campo); $campo = str_replace("â", "â", $campo); $campo = str_replace("à", "à", $campo); $campo = str_replace("é", "é", $campo); $campo = str_replace("ê", "ê", $campo); $campo = str_replace("í", "í", $campo); $campo = str_replace("ó", "ó", $campo); $campo = str_replace("õ", "õ", $campo); $campo = str_replace("ô", "ô", $campo); $campo = str_replace("ú", "ú", $campo); $campo = str_replace("ç", "ç", $campo); $campo = str_replace("Á", "Á", $campo); $campo = str_replace("Ã", "Ã", $campo); $campo = str_replace("Â", "Â", $campo); $campo = str_replace("À", "À", $campo); $campo = str_replace("É", "É", $campo); $campo = str_replace("Ê", "Ê", $campo); $campo = str_replace("Í", "Í", $campo); $campo = str_replace("Ó", "Ó", $campo); $campo = str_replace("Õ", "Õ", $campo); $campo = str_replace("Ô", "Ô", $campo); $campo = str_replace("Ú", "Ú", $campo); $campo = str_replace("Ç", "Ç", $campo); $campo = str_replace("\"", """, $campo); return $campo; } $assunto = codificado($_POST["assunto"]); $mensagem = codificado($_POST["mensagem"]; veja se consegue resolver Compartilhar este post Link para o post Compartilhar em outros sites
santos_s 12 Denunciar post Postado Agosto 17, 2014 eu tenho um formulario de contato que envia as mensagens para o meu email que quando eu rodava no meu site usando meu pc enviava tudo certo mas quando alguem me enviava de outro pc os acentos nao vinha direito. então criei uma função e faço a conversão apenas para o envio das mensagens mais ou menos assim function codificado($texto){ $campo = $texto; $campo = str_replace("á", "á", $campo); $campo = str_replace("ã", "ã", $campo); $campo = str_replace("â", "â", $campo); $campo = str_replace("à", "à", $campo); $campo = str_replace("é", "é", $campo); $campo = str_replace("ê", "ê", $campo); $campo = str_replace("í", "í", $campo); $campo = str_replace("ó", "ó", $campo); $campo = str_replace("õ", "õ", $campo); $campo = str_replace("ô", "ô", $campo); $campo = str_replace("ú", "ú", $campo); $campo = str_replace("ç", "ç", $campo); $campo = str_replace("Á", "Á", $campo); $campo = str_replace("Ã", "Ã", $campo); $campo = str_replace("Â", "Â", $campo); $campo = str_replace("À", "À", $campo); $campo = str_replace("É", "É", $campo); $campo = str_replace("Ê", "Ê", $campo); $campo = str_replace("Í", "Í", $campo); $campo = str_replace("Ó", "Ó", $campo); $campo = str_replace("Õ", "Õ", $campo); $campo = str_replace("Ô", "Ô", $campo); $campo = str_replace("Ú", "Ú", $campo); $campo = str_replace("Ç", "Ç", $campo); $campo = str_replace("\"", """, $campo); return $campo; } $assunto = codificado($_POST["assunto"]); $mensagem = codificado($_POST["mensagem"]; veja se consegue resolver Valeu, Funcionou legal. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
marsolim 110 Denunciar post Postado Agosto 17, 2014 beleza mano :D Compartilhar este post Link para o post Compartilhar em outros sites