我正在设置一个 PHPMailer PHP 表单,它将表单发送到我们的 Office 365 帐户。我对显示的法语口音有疑问,有“éééÃÃÃÃçç”口音,如“ééààçç”。
PHP 表单以 UTF-8 编码;PHP 代码也采用 UTF-8 编码;
但是收到的电子邮件似乎没有显示正确的字符。
我添加了这些设置,但没有任何改变:
在 PHP 文件中
header('Content-Type: charset=utf-8');
还
$mail->isHTML(true); // Set email format to HTML
$mail->CharSet = "UTF-8";
Php 发送表单源代码:
<?php
header('Content-Type: charset=utf-8');
ini_set('startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(E_ALL);
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'php/phpmailer/vendor/phpmailer/phpmailer/src/Exception.php';
require 'php/phpmailer/vendor/phpmailer/phpmailer/src/PHPMailer.php';
require 'php/phpmailer/vendor/phpmailer/phpmailer/src/SMTP.php';
$nom_compagnie = $_POST['nom_compagnie'];
$nom_complet = $_POST['nom_complet'];
$poste = $_POST['poste'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$commentaire = $_POST['commentaire'];
$from = $_POST['email'];
function post_captcha($user_response) {
$fields_string = '';
$fields = array(
'secret' => 'PrivateKey',
'response' => $user_response
);
foreach($fields as $key=>$value)
$fields_string .= $key . '=' . $value . '&';
$fields_string = rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify');
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result, true);
}
收到的电子邮件显示如下:
显示邮件中的 H3 标题
Vous avez reçu un formulaire de contact via le site Web
应该是这样写的
Vous avez reçu un formulaire de contact via le site web
口音“é”也显示有“é”。
我不知道问题出在哪里。
如果我的代码编程良好,有什么线索吗?
临摹微笑
心有法竹