>  기사  >  백엔드 개발  >  PHP 메일의 중국어 왜곡 문자에 대한 솔루션

PHP 메일의 중국어 왜곡 문자에 대한 솔루션

巴扎黑
巴扎黑원래의
2016-11-23 10:25:282228검색

주로 인코딩 문제:

해결 방법은 다음과 같습니다. 읽은 데이터에 대한 인코딩 방법을 설정하고 이메일을 보낼 때 인코딩 방법도 지정합니다.

먼저 base64_encode() 함수를 사용합니다. MIME base64는 데이터를 인코딩합니다.
제목 문자열 앞에 인코딩 유형을 추가합니다(예: =?UTF-8?B?
물론 gb2312인 경우 =?GB2312?B?
뒤에 추가). 제목 문자열: ?=

------------구성 참조용 광산---------

<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<body>
<?php
if(strlen($_POST["from"]) > 1)
 //if "email" is filled out, send email
{
 //send email
 $email = $_POST["from"] ; 
 $mailto = $_POST["mailto"];
 $subject = "=?UTF-8?B?" . base64_encode($_POST["subject"]) . "?="; 
 $message = $_POST["message"] ;
 $header = &#39;MIME-Version: 1.0&#39; . "\r\n" 
 . "Content-type: text/html; charset=utf-8". "\r\n" 
 . "From: <$email>"."\r\n";
 //echo "mailto:$mailto<br />", "Subject: $subject<br />", "message:$message<br />", "From: $email<br />" ;
 mail("$mailto", "$subject", $message, "$header" );
 echo "<br />Your mail has been sent ! 
 Thank you for using our Mail system ...<br />
 We shall go to main page in 3 seconds <br />";
}
else{
 echo "<center><h2>Welcome to Qunero-php Mail system </h2></center><br />";
 echo &#39;<form method="post" action="index.php">
  From : <input type="text" name="from" /><br/ >
  MailTo : <input type="text" name="mailto" /><br />
  Subject : <input type="text" name="subject" /><br />
  Message : <br /><textarea name="message" rows="15" cols="80"> </textarea><br />
  <input type="submit" />
  </form>&#39;;
}
?>
</body>
</html>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.