Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-将特殊字符转换为HTML实体_Php_Email_Encoding - Fatal编程技术网

PHP-将特殊字符转换为HTML实体

PHP-将特殊字符转换为HTML实体,php,email,encoding,Php,Email,Encoding,我发电子邮件有问题。如果它包含特殊字符,则不会发送。我想将特殊字符转换为HTML实体,如下所示: " ==> &quot; & ==> &amp; € ==> &euro; < ==> &lt; .... $text = htmlentities($text); “==>” &==>&; 欧元==>&欧元; < ==> .... 我该怎么做?谢谢。您可能正在寻找htmlentities()就是您要寻找的: 就是这

我发电子邮件有问题。如果它包含特殊字符,则不会发送。我想将特殊字符转换为HTML实体,如下所示:

" ==> &quot;
& ==> &amp;
€ ==> &euro;
< ==> &lt;
....
$text = htmlentities($text);
“==>”
&==>&;
欧元==>&欧元;
< ==> 
....

我该怎么做?谢谢。

您可能正在寻找

htmlentities()
就是您要寻找的:

就是这样做的

像这样使用它:

" ==> &quot;
& ==> &amp;
€ ==> &euro;
< ==> &lt;
....
$text = htmlentities($text);
但是,如果您提供适当的字符集信息,则不需要这样做。尝试设置邮件的字符集。

两个问题:

(1) 使用位于

基本用法:

$clean = htmlentities($dirty, ENT_QUOTES, "UTF-8");
“ENT_引号”将导致转换单引号和双引号(易于更改)

“UTF-8”强制使用UTF-8字符集(重要信息,如下所示)

(2) 在表单页面和提交到页面上强制使用字符集

在开始的php括号下方插入以下内容:

header('Content-Type: text/html; charset=utf-8');
在两个页面上强制使用字符集(实际上,在网站的每个页面上)是很重要的


这应该可以解决问题。如果不是,则说明净化系统中的其他地方存在问题。

倒数第二个说法并不完全正确。那么
呢?