Ir para conteúdo

POWERED BY:

Arquivado

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

Dee

Acentuação no PHP

Recommended Posts

Galera. Antes que alguém fale, já procurei no fórum a respeito desse problema. E podem crer que tudo que falaram eu já fiz, mas nada deu certo.Garanto-lhes que fiz certo.

No PHP, eu estou usando a função MAIL();, mas quando é enviado o E-mail, o assunto chega sem acento, porém o corpo do E-mail chega com acento. Já usei o Charset-8859-1, no <meta> e também no $headers .= "Content-type: text/html;charset=iso-8859-1\r\n";

 

Mas nada disso adiantou. Usei os á, e depois coloquei o htmlentities();.. e não funcionou, aliás nem chegou o assunto, ficou em branco.

Não sei o que eu faço mais, alguém tem mais sugestões ???

 

Obrigado galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha cara Vlw.

Mas eu juro, já fiz o que está lá.

Eu acho que é problema no OutLook, porquê somente nele está com esse problema. Esqueci de colocar isso como observação. Mas o meu E-mail no OutLook está chegando com acento. Já do meu parceiro de serviço não está. E suas configurações estão iguais as minhas.

E o detalhe: é só o assunto sem acento.

 

^^ ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui está o Código.

 

<?php
	 header("Content-Type: text/html; charset=iso-8859-1",true);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<?php
	include 'conecta.php';
	//$codigo = $_GET['funcionario_codigo'];
	//$conf = $_GET['conf'];
	$atualiza_codigo = $_GET['atualizacao_codigo'];
	//$versao_codigo = $_GET['versao'];

	$alt_desc = $_POST['alt_desc'];
	$alt_codigo = $_POST['alt_codigo'];
	$alt_versao = $_POST['alt_versao'];

	$antiga = "select * from atualizacao where atualizacao_codigo = '$atualizacao_codigo'";
	$exe_antiga = mssql_query($antiga);
	$desc_antiga = mssql_result($exe_antiga,0,'descricao');

	$desc = stripslashes($alt_desc);

	$sql_atualiza = "update atualizacao set descricao = '$desc' where atualizacao_codigo = '$atualiza_codigo'";
	$exe = mssql_query($sql_atualiza)
			or die("Erro na atualização dos dados:<br>".mssql_error());

	$select = "select * from atualizacao where atualizacao_codigo = '$atualiza_codigo'";
	$exe_select = mssql_query($select);
	$numero_versao = mssql_result($exe_select,0,'versao');
	
	$alt_desc = stripslashes($alt_desc);
	
	echo "<center><font color='#000000' face='verdana' size='3'><b>
				Atualização cadastrada para a versão <font color='red' face='verdana' size='3'>$numero_versao</font>
				</font></center>";

	$body = "<font color='#000000' face='verdana' size='3'>
					Atualização do Sigla - Versão <font color='#FF0000'><b>$numero_versao</b></font>
				</font>
				 <h3 align='center' noshade='noshade' size='2' width='100%'>
				 <br>
				 <table border='0' cellpadding='2' cellspacing='0' align='center' width='100%'>
					<tr>
						<td bgcolor='#C7C7C7'><b><font color='#000000' face='verdana' size='2'> Versão: </font></b></td>
						<td><font color='#000000' face='verdana' size='2'> $numero_versao </font></td>
					</tr>
					<tr>
						<td bgcolor='#C7C7C7'><b><font color='#000000' face='verdana' size='2'> Descrição Antiga: </font></b></td>
						<td><font color='#000000' face='verdana' size='2'> $desc_antiga </font></td>
					</tr>
					<tr>
						<td bgcolor='#C7C7C7'><b><font color='#000000' face='verdana' size='2'> Descrição Atual: </font></b></td>
						<td><font color='#000000' face='verdana' size='2'> $alt_desc </font></td>
					</tr>
					<tr>
						<td bgcolor='#C7C7C7'><b><font color='#000000' face='verdana' size='2'> Data: </font></b></td>
						<td><font color='#000000' face='verdana' size='2'>".date('d/m/Y')."</font></td>
					</tr>
				  </table>";
		  $to = "email1@email1.com.br";
		  
		  $subject = "Alterada atualizacao para versao ".$numero_versao;
		  $headers = "MIME-Version: 1.0" . "\r\n";
		  $headers .= "X-Sender: email1@email1.com.br" . "\r\n";
		  $headers .= "Content-type: text/html;charset=iso-8859-1" . "\r\n";
		  $headers .= "From: Salcam <email2@email2.com.br>" . "\r\n";

		  mail($to,$subject,$body,$headers);
		  
		 echo "<meta http-equiv='refresh' content='2;URL=versao_sigla.php?versao=$numero_versao'>";

?>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você sabe o que é encoding ?

 

verifique se está utilizando um encoding compatível no seu editor de textos

 

"editor de textos" -> o programa que você utiliza pra abrir, editar e salvar os arquivos php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Encoding é a codificação de como salvar o arquivo.

eu to usando o Dreamweaver, eu procurei nas Preferencias. Achei algo do tipo e estava Europeu Ocidental.

 

Certo ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

no assunto apenas para teste..

 

tente colocar utf8_decore();

ou utf8_encode();

 

[]'s

Já fiz, nao deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. eu ja tive um problema parecido.. só que era em todo o e-mail..

mas em alguns editores de texto davam problemas e outros não..

 

ai resolvi deixar tudo como utf-8 e resolveu..

 

Deixei o enconding do arquivo, setei header via php

e também no html..

 

tente fazer isso também..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza Bruno, vou ler! vLW

 

mas viu..

la na função ta trazendo dois parametros

quando chamo a função na variavel que eu quero eu to passando um só

é isso mesmo Bruno ?

 

eu posso tirar o parametro $debug_on e o if no qual ele eh usado ?

 

viu Bruno

nao deu certoo

eu acho que o problema eh no outlook

nao eh possivel

que coisaaaa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tive esse problema quando fiz uma pesquisa de satisfação.

No arquivo .html para preencher no form deixei:

 

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

No arquivo php para enviar o e-mail, fiz assim:

 

$cabecalho = "Content-Type: text/html; charset=utf-8\r\n";
$cabecalho .= "From: cliente\r\n";
$mensagem			  = $_POST["mensagem"];
$tx_email			 = $_POST["tx_email"];
$muitosatisfeito	   = $_POST["muitosatisfeito"];
$satisfeito			= $_POST["satisfeito"];
$indiferente		   = $_POST["indiferente"];
$insatisfeito		  = $_POST["insatisfeito"];
$muitoinsatisfeito	 = $_POST["muitoinsatisfeito"];
$opcao				 = $_POST["pesquisa"];

global $email; //função para validar a variável $email no script todo

$data	  = date("d/m/y");					 //função para pegar a data de envio do e-mail
$ip		= $_SERVER[\'REMOTE_ADDR\'];		   //função para pegar o ip do usuário
$hora	  = date("H:i");					   //para pegar a hora com a função date



//aqui envia o e-mail para você
$envia = mail ("emailquevaiserenviado@email.com",  
	  "Pesquisa de satisfação", 
	  "<br />Data: $data<br />\r\nIp: $ip<br />\r\nHora: $hora <br />\r\nE-mail: $tx_email <br />\r\nAlternativa escolhida pelo cliente: $opcao<br />\r\nMensagem: $mensagem<br />\r\n",
	  "$cabecalho"
	 );

	 if ($envia) {
	 Header("location:paginadeconfirmacaodoenvio.htm"); 
	 }
else {
echo "Problemas no envio, por favor tente novamente";
}

?>

Detalhe:

Abra os arquivos no bloco de notas e em "salvar como", deixa a codificação como ANSI.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já fiz isso tbm Fernando.

E sobre a função Bruno nao deu certo.

acho que o problema eh no outlook como eu disse.

nao sei viu

ja fiz de tudo

Compartilhar este post


Link para o post
Compartilhar em outros sites

apenas por "desencargo de consciência"

 

instale o PHPMailer e execute a página de testes que vem junto com o download.

Compartilhar este post


Link para o post
Compartilhar em outros sites

apenas por "desencargo de consciência"

 

instale o PHPMailer e execute a página de testes que vem junto com o download.

OK vou fazer isso

 

mas o que eh para acontecer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso não ache nenhuma solução mais conveniente, você pode utilizar o utf-8 mesmo e tratar os caracteres especiais com seus refentes códigos, nesse site tem uma lista dos caracteres especiais utilizados no HTML -> http://www.itmnetworks.com.br/suporte/acen...s_especiais.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK vou fazer isso

 

mas o que eh para acontecer ?

basicamente.. funcionar

 

Bateu duido hein hinom ^^

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.