PHP表单的成功消息不输出特殊字符

时间:2016-03-10 15:04:05

标签: php encoding character-encoding character

我有一个翻译成各种语言的网站,包括法语。这些页面并未使用Google翻译或任何其他第三方脚本进行翻译。它们已被手动翻译。

所以在法语与我们联系页面上,我有一个 php联系表单供访问者填写。那里有法语文本联系我们页面,我对字符编码没有问题,与下图不同。成功填写表单后,会弹出一条自动消息,因为法语有特殊字符,成功消息中的那些特殊字符带有带问号的菱形框:

enter image description here

我的代码:

联系页面的标题中,我有:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

在我的PHP表单中生成成功消息(显然javascript用于显示消息),我有(这只是我整个PHP代码的片段,但我认为这部分是最重要的):

$msg = wordwrap( $msg, 70 );

$headers = "From: $email\r\nBCC:{$bcc}\r\n" . PHP_EOL;
$headers .= "Reply-To: $email" . PHP_EOL;
$headers .= "MIME-Version: 1.0" . PHP_EOL;
$headers .= "Content-type: text/html; charset=utf-8" . PHP_EOL;
$headers .= 'Content-Transfer-Encoding: 8bit'. "\n\r\n" . PHP_EOL;

if(mail($address, $e_subject, $msg, $headers)) {


 echo "<div class='success'>";
 echo "<h6>Nous vous remercions de votre demande.</h6>";
 echo "<p><strong>NB:</strong> Si vous n'avez pas reçu une réponse dans 24 heures, veuillez vérifier votre <u style='font-weight:bold'>boîte spam</u>.</p>";
 echo "<div class='close'>&nbsp;</div>";
 echo "</div>";


 } else {

 echo 'ERROR!'; // Dont Edit.

 }

请注意以上代码:

$headers .= "Content-type: text/html; charset=utf-8" . PHP_EOL;

我怀疑并认为这就是我的问题所在:

charset=utf-8

我做的是:

1)我已尝试将我的联系页面 http-equiv =&#34; Content-Type&#34; 更改为

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

2),在我的php标题中:

$headers .= "Content-type: text/html; charset=iso-8859-1" . PHP_EOL;

这些改变不起作用,不幸的是我对SO的研究并没有让我更接近解决方案(考虑到每个人的情况与我的情况略有不同)。我不确定这个标题是否有任何问题?:

$headers .= 'Content-Transfer-Encoding: 8bit'. "\n\r\n" . PHP_EOL;

感谢您的帮助和指导。

0 个答案:

没有答案