Ir para conteúdo
Fórum Script Brasil
  • 0

Preciso ajudo com acentuação em português.


Onzeon

Pergunta

Bom dia pessoal, não sei escrever PHP e consigo fazer modificações mínimas. Tenho um formulário em PHP que funciona muito bem mas não acentua as palavras em português. Exemplo o usuário escreve:

Gostaria de estar colocando proteses nos seios e fazer lipoaspiração, mais a lipo ainda não ...

e o que recebo e:

Gostaria de estar colocando proteses nos seios e fazer lipoaspiração, mais a lipo ainda não...

já li bastante e sei que tenho que implementar o:

$headers .= "Content-type: text/html; charset=iso-8859-1\n";

ou

$headers .= "Content-type: text/html; charset=UTF-8\n";

ou algo assim, mas não sei como e a onde colocar (já tentei de tudo).

Por favor preciso da ajuda de alguém bem mais inteligente que eu. :)

Aqui vai meu PHP que estou usando.

<?php
if(isset($_POST['email'])) {
     
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "meu_email@meu_url.com";
    $email_subject = "Pedido para contato";
     
     
    function died($error) {
        // your error code can go here
        echo "Lamentamos muito, mas houve erro(s) encontrado com a forma que voce enviou. ";
        echo "Esses erros aparecem abaixo.<br /><br />";
        echo $error."<br /><br />";
        echo "Por favor, volte para corrigir esses erros.<br /><br />";
        die();
    }
     
    // validation expected data exists
    if(!isset($_POST['first_name']) ||
        !isset($_POST['last_name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['telephone']) ||
        !isset($_POST['comments'])) {
        died('Lamentamos, mas parece haver um problema com a forma que voce enviou.');       
    }
     
    $first_name = $_POST['first_name']; // required
    $last_name = $_POST['last_name']; // required
    $email_from = $_POST['email']; // required
    $telephone = $_POST['telephone']; // not required
    $comments = $_POST['comments']; // required
     
    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
  if(!preg_match($email_exp,$email_from)) {
    $error_message .= '- O endereco de e-mail que voce digitou não parece ser valido.<br />';
  }
    $string_exp = "/^[A-Za-z .'-]+$/";
  if(!preg_match($string_exp,$first_name)) {
    $error_message .= '- O nome que voce digitou não parece ser valido.<br />';
  }
  if(!preg_match($string_exp,$last_name)) {
    $error_message .= '- O Sobre Nome que voce digitou não parece ser valido.<br />';
  }
  if(strlen($comments) < 2) {
    $error_message .= '- O pedido de informacao que voce digitou não parece ser valido.<br />';
  }
  if(strlen($error_message) > 0) {
    died($error_message);
  }
    $email_message = "Detalhes da forma a baixo.\n\n";
     
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }
     
    $email_message .= "Nome: ".clean_string($first_name)."\n";
    $email_message .= "Sobre Nome: ".clean_string($last_name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "Telefone: ".clean_string($telephone)."\n";
    $email_message .= "Informacao pedida: ".clean_string($comments)."\n";
     
     
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
?>

Nos recebemos teu email....

<?php
}
?>

Obrigado por tentar me ajudar.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
$headers .= "Content-type: text/html; charset=UTF-8\n";
@mail($email_to, $email_subject, $email_message, $headers);

Link para o comentário
Compartilhar em outros sites

  • 0
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
$headers .= "Content-type: text/html; charset=UTF-8\n";
@mail($email_to, $email_subject, $email_message, $headers);

Cara muito Obrigado pela resposta, acabo de editar e não deu certo.

Tem mais alguma dica? Muito obrigado.

Editado por Onzeon
Link para o comentário
Compartilhar em outros sites

  • 0

Isso agora ta funcionando:

$headers = 'From: '.$email_from."\r\n".

'Reply-To: '.$email_from."\r\n" .

'X-Mailer: PHP/' . phpversion();

$email_message .= "Content-type: text/html; charset=UTF-8\n";

@mail($email_to, $email_subject, $email_message, $headers);

?>

Mas no email ele responde assim.

Eu escrevo isso:

ã, ê, é, á, ô, ó. ç Ç

E recebo isso:

ã, ê, é, á, ô, ó. ç Ç

Content-type: text/html; charset=UTF-8

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...