我正在为法国客户开发我的第一个网站,并且我有大量问题,口音被显示为“?”。经过几天的谷歌搜索,我认为我理解,但问题仍然存在。
为简化起见,我将仅解释电子邮件标题(该邮件包含法语口音)
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
我尝试过使用charset UTF-8和iso-8859-1,但我仍然收到这类电子邮件:
Merci pour votre intérêt pour les tee shirts.
任何人都可以帮忙吗?我基本上无处不在mySql,HTML,PHP这些问题。
感谢。
答案 0 :(得分:11)
如果intérêt
显示为intérêt
您可能(即由于双重编码而导致损坏),则UTF-8编码的文本显示为ISO-8859-1。
确保标题正确形成,并将内容显示为UTF-8编码。
答案 1 :(得分:5)
首先,再次在标题UTF8中创建字符集。
在您的页面中,在适当的位置使用utf8_encode()
以确保来自数据库或外部文件的值已正确编码(尝试将数据库中字段的编码设置为UTF8)
另外,看一下htmlentities()
函数来解析特殊字符到html实体,这也可以解决编码问题。
答案 2 :(得分:1)
默认情况下,除法语外的所有其他语言对我来说都很正常
在我的/fr/messages.php文件中,我可以使用
解决此问题'myKey' => utf8_encode('en français'),