我有一个小的php程序,可以向客户发送电子邮件。
该电子邮件包含以html代码编写的文本,并且还包含来自MySQL数据库的数据。
我尝试将电子邮件的编码更改为UTF-8和ISO-8859-1。
根据编码,当单词包含特殊字符时,html文本或数据库数据显示错误。 如何更改设置以便我的电子邮件显示正确。
答案 0 :(得分:0)
你的问题非常有限。我猜您在html中使用了以下代码。
<meta charset="...">
我还猜测你使用mysqli
从数据库中检索数据而你没有使用
mysqli_set_charset()
以下是上述函数的Docs。
答案 1 :(得分:0)
对不起,我没有说清楚我的问题。
我想通过php文件发送电子邮件。此电子邮件将包含文件中包含的文本以及数据库中的数据。
在我的php文件标题中,我正在使用
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
在电子邮件标题$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
然后,电子邮件中包含从数据库中获取的部分的所有特殊字母的奇怪符号。
我找到了以下解决方案,帮助我解决了这个问题。在数据库连接之后,需要输入以下几行。
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION = 'utf8_unicode_ci'");