将特殊字符转换为HTML实体,为什么或为什么不呢?

时间:2011-12-20 09:33:10

标签: php html utf-8 escaping

我想知道,最佳做法是什么。要将所有utf-8特殊字符转换为HTML实体或仅转换为&,<和>。

我正在研究几个PHP项目。谷歌在我网站的随机部分显示了一些错误的utf-8结果。

我认为这是因为以下两个原因中的一个或两个:

  • 我的托管服务提供商没有自动发送编码标头(我已经修好了)。
  • 或者在描述中文本没有完全转义的事实。

除此之外,我注意到大多数市长公司网站都没有发送'<?xml version'行,他们也没有逃脱他们的角色。

是否存在缺点(或上升空间)以逃避所有角色与仅需要的最低角色?

1 个答案:

答案 0 :(得分:2)

  

是否存在缺点(或上升空间)以逃避所有角色与仅需要的最低角色?

现在不需要转换<>&"'以外的任何字符(由htmlspecialchars()完成)。如果正确配置了页面的字符集,则使用本机UTF-8字符(或您选择的任何字符集)都没有问题。将它们转换为实体没有任何优势。它们有时被用作字符集问题的误导性解决方法,但这几乎不是一个好主意。