Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的mail()函数,带有奇怪的字符_Php_Javascript_Jquery_Ajax_Email - Fatal编程技术网

PHP中的mail()函数,带有奇怪的字符

PHP中的mail()函数,带有奇怪的字符,php,javascript,jquery,ajax,email,Php,Javascript,Jquery,Ajax,Email,我正在使用php邮件函数,它工作得很好,我真的不喜欢使用这个函数,但是我必须为这个函数做些什么 所以问题是,特殊的欧洲字符在电子邮件中以一种有趣的方式显示,我试图将编码设置为iso-8859-1,同样的情况也发生了: $to = $eemail; $subject = $campos[4]; $message = $campos[5]; $message = mb_convert_encoding($message, 'HTML-ENTITIES', 'iso-8859-1'); $from =

我正在使用php邮件函数,它工作得很好,我真的不喜欢使用这个函数,但是我必须为这个函数做些什么

所以问题是,特殊的欧洲字符在电子邮件中以一种有趣的方式显示,我试图将编码设置为iso-8859-1,同样的情况也发生了:

$to = $eemail;
$subject = $campos[4];
$message = $campos[5];
$message = mb_convert_encoding($message, 'HTML-ENTITIES', 'iso-8859-1');
$from = $campos[1];
$headers = "From:".$from."\r\n";

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-Mailer: PHP". phpversion() ."\r\n";
其余的是通过AJAX发送的基本邮件表单:

$(function() {  
  $(".submita").click(function() {        
      var nome = $('#nome').attr('value');
      var email = $('#email').attr('value');
      var telemovel = $('#telemovel').attr('value');
      var loja = $('#loja').attr('value');
      var assunto = $('#assunto').attr('value');
      var mensagem = $('#mensagem').attr('value');

      var dataString = 'nome='+ nome + '&email=' + email + '&telemovel=' + telemovel + '&loja=' + loja + '&assunto=' + assunto + '&mensagem=' + mensagem;
      $.ajax({
    type: "POST",
    url: "ajaxload/conemail.php",
    data: dataString,
    success: function() {
        $(".mensagem").fadeIn();
      }
      });
      return false;
  }); 
});

出什么事了

chk这个链接来自php.net

http://php.net/manual/en/function.mail.php
希望这有帮助,这是我给出的这个php.net页面的小内容

Sending messages with polish special characters:
<?php
function plmail($mail, $sub, $mes){
    $headers = "From: ExRobot <robot@example.com>\r\n";
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/plain; charset=utf-8\r\n";
    $headers .="Content-Transfer-Encoding: 8bit";

    $mes=htmlspecialchars_decode($mes,ENT_QUOTES);//optional - I use encoding to POST data
    mail($mail, "=?utf-8?B?".base64_encode($sub)."?=", $mes, $headers);
}
?>
Page must be in utf-8 encoding.
发送带有波兰特殊字符的邮件:
页面必须采用utf-8编码。
如果您的编码或“编码”在不同平台(如邮件/电子邮件、表单、web浏览器等)上不同,您将得到奇怪的结果

大多数情况下,您都希望使用utf-8

编辑,如果您无法使用utf-8,但可以控制显示消息的页面,则可以设置元标记

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


编码
-喜欢它。伟大的编码新词。@DaveRandom我真的很抱歉我缺乏英语词汇方面的知识。将“编目”和“编码”翻译成葡萄牙语,最后都是同一个葡萄牙语单词。谢谢你的帮助。不用担心,我不想尝试,这让我很开心:-)这个答案的结果是
试着用UTF-8编码。这虽然说得很笨拙,但却是个好主意。对不起,编码,在葡萄牙语中有同样的意思。不能坚持使用uft-8,结果和不使用任何编码类型一样糟糕。这不是对你的英语知识的一次尝试,这是它的专业术语,就文档而言。。。或者,您可以将显示消息的网页设置为在元标记中使用iso-8859-1。contact.html页面使用该字符集进行编码,contact.php不需要编码。