2011-12-20 93 views
2

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

我正在处理几个PHP项目。谷歌显示一些错误的UTF-8结果为我的网站的随机部分。

我想这是因为一个或两个以下两个原因:

  • 我的托管服务提供商并没有自动发送编码头(我已经解决了这个问题)。或者在描述中文本没有完全转义的事实。

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

转义所有角色是否有缺点(或者说是上升)?

回答

2

转义所有字符是否有缺点(或者说是上升)?

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

+0

你说htmlentities,但是你链接到htmlspecialchars。但我明白你的观点。那么'<?xml'标题呢,有没有关于那个的建议呢? – 2011-12-20 09:53:23

+0

@Paul固定,谢谢!重新设置XML标题,我不确定我是否明白你的意思,在什么情况下你期望被发送? – 2011-12-20 09:55:46

+0

html文档的第一行,w3表示使用' <?xml version =“1.0”encoding =“UTF-8”?>'但市长网站不使用此行。 – 2011-12-20 09:58:04

相关问题