特殊字符的问题-联系表

时间:2018-11-24 19:10:13

标签: php forms email encoding

我联系表格没什么问题。 当我发送消息时,主题和发件人名称不显示特殊字符。消息框显示的特殊字符正确。 我设置了UTF-8,因此我认为它应该适用于所有领域。我不知道。

我的PHP代码:

define( "RECIPIENT_NAME", "My name" );
define( "RECIPIENT_EMAIL", "info@domain.com" );

$success = false;
$senderName = isset( $_POST['username'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['username'] ) : "";
$senderEmail = isset( $_POST['email'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['email'] ) : "";
$subject = isset( $_POST['subject'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['subject'] ) : "";
$message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";

if ( $senderName && $senderEmail && $subject && $message) {
  $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";

  /* $headers = "From: " . $senderName . " <" . $senderEmail . ">"; */

  $headers = 'From:'.$senderName.' <'.$senderEmail.'>' . "\r\n";
  $headers .= "MIME-Version: 1.0" . "\r\n";
  $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";


  $msgBody = "From: " . $senderName . "<br><br>Message:<br>" . $message;
  $success = mail( $recipient, $subject, $msgBody, $headers );


  header('Location: contact.php');
}

else {
    header('Location: index.php');  
}

0 个答案:

没有答案