Maison > développement back-end > Problème PHP > Solution aux caractères chinois tronqués dans les e-mails php

Solution aux caractères chinois tronqués dans les e-mails php

藏色散人
Libérer: 2023-03-04 13:48:01
original
3105 Les gens l'ont consulté

Solution aux caractères chinois tronqués dans les e-mails PHP : utilisez d'abord HTML pour modifier le contenu de l'e-mail ; puis définissez "Content-Transfer-Encoding : 8Bit" ; puis définissez le nom du système et l'adresse e-mail de l'e-mail d'envoi ; enfin, définissez l'adresse e-mail de réception.

Solution aux caractères chinois tronqués dans les e-mails php

Recommandé : "Tutoriel vidéo PHP"

Résoudre le courrier PHP envoyant du courrier chinois UTF-8 tronqué

Ici, je vais résoudre un problème que beaucoup de gens ont pu rencontrer et sont confus et ne savent pas comment faire.

Comment envoyer des emails chinois sans caractères tronqués ?

Ici, je vais vous expliquer comment envoyer des e-mails chinois au format d'encodage UTF-8. Cet article ne concerne pas les e-mails chinois au format d’encodage GBK ou GB2312.

Résoudre ce problème est en fait très simple. Veuillez lire le code ci-dessous. Citez les en-têtes de vos e-mails avec '=?UTF-8?B?' et '?='.

Vous pouvez choisir d'utiliser HTML pour modifier le contenu de votre e-mail, mais n'oubliez pas d'utiliser le codage de caractères UTF-8.

Contenu de l'en-tête de l'e-mail

MIME-Version: 1.0
Copier après la connexion

Version MIME (MIME-Version). Ce champ d'en-tête utilise un numéro de version dans le message électronique pour indiquer la version de la spécification MIME à laquelle le message est conforme. La version actuelle est la 1.0.

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

Prend en charge le format HTML, l'encodage UTF-8.

Content-Transfer-Encoding: 8Bit
Copier après la connexion

Encodage de transfert de contenu, code ASCII 8 bits.

X-Mailer: LixiPHP
Copier après la connexion

Le nom du système d'envoi d'e-mails, vous pouvez écrire ce que vous voulez.

From: =?utf-8?B?发送邮件人的姓名?= <FROM_EMAIL_ADDRESS>
Copier après la connexion

Adresse email d'envoi

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

Titre du mail

En regardant le code source de l'email, je peux voir :

Code Mail 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);
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal