Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

santos_s

Acentos php

Recommended Posts

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

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

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

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

 

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.