我想知道,什么是最佳实践。将所有 utf-8 特殊字符转换为 HTML 实体或仅转义 &、< 和 >。
我正在处理几个 PHP 项目。对于我网站的随机部分,Google 显示了一些错误的 utf-8 结果。
我认为这是由于以下两个原因中的一个或两个:
- 我的托管服务提供商没有自动发送编码 header (我已经解决了这个问题)。
- 或者描述中的文本没有完全转义。
除此之外,我注意到大多数市长公司网站不发送 '<?xml version'
行,他们不会逃脱他们的角色。
转义所有字符与只转义最少必要字符有缺点(或优点)吗?
最佳答案
Are there downsides (or upsides) to escaping all characters vs only the minimum necessary?
转换<>&"'
以外的任何字符(正如 htmlspecialchars()
所做的那样)现在已经没有必要了。如果页面的字符集配置正确,则使用 native UTF-8 字符(或您选择的任何字符集)都没有问题。将它们转换为实体没有任何优势。它们有时被用作字符集问题的错误解决方法,但这几乎不是一个好主意。
关于php - 将特殊字符转换为 HTML 实体,为什么或为什么不?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8573335/