PHP - htmlspecialchars 和 UTF-8

Liz*_*ard 2 php utf-8 htmlspecialchars

我只是想用htmlspecialchars确认一些事情。我刚刚将数据库转换为 UTF-8,我想我终于可以正常工作了,但在我的代码中我使用了PHP htmlspecialchars函数:

htmlspecialchars($val, ENT_QUOTES,'ISO-8859-1',false);
Run Code Online (Sandbox Code Playgroud)

我是否需要担心将所有条目更改为:

htmlspecialchars($val, ENT_QUOTES,'UTF-8',false);
Run Code Online (Sandbox Code Playgroud)

PHP 文档建议我不需要,但这是真的吗?

就该函数而言,字符集 ISO-8859-1、ISO-8859-15、UTF-8、cp866、cp1251、cp1252 和 KOI8-R 实际上是等效的,因为受 htmlspecialchars() 影响的字符占用相同的字符集。所有这些字符集中的位置。

Vol*_*erK 5

htmlspecialchars()“处理”的所有字符都在 7 位/US ASCII范围内。这些在所提到的编码中是相同的(并且不会弄错)。所以是的,如果你不改变编码参数,不会有什么坏处。但无论如何我还是鼓励你这样做。