>백엔드 개발 >PHP 문제 >PHP 이메일의 한자가 왜곡되는 문제에 대한 솔루션

PHP 이메일의 한자가 왜곡되는 문제에 대한 솔루션

藏色散人
藏色散人원래의
2020-08-15 09:38:533129검색

PHP 이메일의 잘못된 중국어 문자에 대한 해결 방법: 먼저 HTML을 사용하여 이메일 내용을 편집한 다음 "Content-Transfer-Encoding: 8Bit"을 설정하고 마지막으로 보내는 이메일의 시스템 이름과 이메일 주소를 설정합니다. 주소.

PHP 이메일의 한자가 왜곡되는 문제에 대한 솔루션

추천: "PHP 비디오 튜토리얼"

UTF-8 중국어 메일을 보내는 PHP 메일에 대한 솔루션이 깨졌습니다

여기서는 많은 사람들이 접하고 혼란스러워하지만 그렇지 않은 문제를 해결하겠습니다. 어떻게 해야 하는지 아는 것이 문제입니다.

깨진 문자 없이 중국어 이메일을 보내는 방법은 무엇입니까?

여기서 UTF-8 인코딩 형식으로 중국어 이메일을 보내는 방법을 알려 드리겠습니다. 이 기사에는 GBK 인코딩 또는 GB2312 인코딩 형식의 중국어 이메일이 포함되어 있지 않습니다.

이 문제를 해결하는 것은 실제로 매우 간단합니다. 아래 코드를 읽어보세요. 이메일 헤더를 '=?UTF-8?B?' 및 '?='로 인용하세요.

HTML을 사용하여 이메일 콘텐츠를 편집할 수 있지만 utf-8 문자 인코딩을 사용하는 것을 잊지 마세요.

이메일 헤더 콘텐츠

MIME-Version: 1.0

MIME 버전(MIME-Version). 이 헤더 필드는 이메일 메시지의 버전 번호를 사용하여 메시지가 준수하는 MIME 사양 버전을 나타냅니다. 현재 버전은 1.0입니다.

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

HTML 형식, UTF-8 인코딩을 지원합니다.

Content-Transfer-Encoding: 8Bit

콘텐츠 전송 인코딩, 8비트 ASCII 코드.

X-Mailer: LixiPHP

이메일 전송을 위한 시스템 이름은 원하는 대로 적으시면 됩니다.

From: =?utf-8?B?发送邮件人的姓名?= <FROM_EMAIL_ADDRESS>

보내는 이메일 주소

To: =?utf-8?B?接受邮件人的姓名?= <TO_EMAIL_ADDRESS>
接受的邮件地址
Subject: =?utf-8?B?邮件标题?=

메일 제목

이메일의 소스 코드를 보면 다음을 알 수 있습니다.

PHP 메일 코드

public function send_email($to, $from, $subject, $message,  $fromname = ”,  $toname=”) {
  if($toname) {
    $to = ‘=?UTF-8?B?’.base64_encode($toname).’?= ‘ . $to;
  }
  if($fromname) {
    $from = ‘=?UTF-8?B?’.base64_encode($fromname).’?= ‘ . $from;
  }
  $headers = ‘From: ‘.$from."\r\n".
  "MIME-Version: 1.0\r\n" .
  "Content-Type: text/html; charset=UTF-8; format=flowed\r\n" .
  "Content-Transfer-Encoding: 8Bit\r\n" .
  ‘X-Mailer: PHP/’ . phpversion();
  $subject = ‘=?UTF-8?B?’.base64_encode($subject).’?=’;
  //send email
  mail($to, $subject, $message, $headers);
}

위 내용은 PHP 이메일의 한자가 왜곡되는 문제에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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