doubaran2438 2013-08-28 19:32
浏览 19

我从PHP表单接收没有重音的奇怪文本

I'm making a form with the POST method on a .PHP file but when I receive the e-mail it has lot of strange characters that should be letters with accents.

It looks like this:

<?php
if(isset($_POST['mail'])) {

    // CHANGE THE TWO LINES BELOW
    $email_to = "alala@alala.com";

    $email_subject = "lalala";


    // validation expected data exists
    if(!isset($_POST['nome']) ||
        !isset($_POST['mail']) ||
        !isset($_POST['site']) ||
        !isset($_POST['autorizacao']) ||
        !isset($_POST['banca']) ||
        !isset($_POST['descricao']) ||
        !isset($_POST['mesa'])) {
        died('');       
    }

    $nome = $_POST['nome']; // required
    $mail = $_POST['mail']; // required
    $telefone = $_POST['telefone']; // required
    $site = $_POST['site']; // required
    $autorizacao = $_POST['autorizacao']; // required
    $banca = $_POST['banca']; // required
    $descricao = $_POST['descricao']; // required
    $mesa = $_POST['mesa']; // required
    $sugestoes = $_POST['sugestoes']; // required

    $email_message = "Inscrição para a Showroom:.

";

    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    $email_message .= "Nome: ".clean_string($nome)."
";
    $email_message .= "E-mail: ".clean_string($mail)."
";
    $email_message .= "Email: ".clean_string($telefone)."
";
    $email_message .= "Email: ".clean_string($site)."
";
    $email_message .= "Email: ".clean_string($autorizacao)."
";
    $email_message .= "Email: ".clean_string($banca)."
";
    $email_message .= "Email: ".clean_string($descricao)."
";
    $email_message .= "Email: ".clean_string($mesa)."
";
    $email_message .= "Comments: ".clean_string($sugestoes)."
";


// create email headers
$headers = 'From: '.$email_from."
".
'Reply-To: '.$email_from."
" .
'X-Mailer: PHP/' . phpversion();

    @mail($email_to, $email_subject, $email_message, $headers);
?>
  • 写回答

1条回答 默认 最新

  • duangenshi9836 2013-08-28 19:44
    关注

    Add encoding to $headers:

    // create email headers
    $headers = 'From: '.$email_from."
    ".
    'Reply-To: '.$email_from."
    " .
    "Content-Type: text/plain;charset=utf-8"."
    " .
    'X-Mailer: PHP/' . phpversion();
    
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入