假设我的项目始终是 utf-8 并且一直与 utf-8 编码一起使用,如果我将所有出现的htmlspecialchars($var)
to更改为可能会破坏的合法内容htmlspecialchars($var, ENT_QUOTES, 'utf-8')
吗?
我确实知道一件事:显然,它的ENT_QUOTES
不同之处ENT_COMPAT
在于它还转义了单引号。假设我知道仅此一项不会破坏任何东西,还有其他东西吗?
不同的说法:
htmlspecialchars()在没有 charset 参数的情况下使用时是否有可能的结果,仅给定来自 charset 的数据,与htmlspecialchars()与charset 参数一起使用时的结果不同?
(是,在任何时候,htmlspecialchars($stringThatIsValidUTF8, ENT_QUOTES) !== htmlspecialchars($stringThatIsValidUTF8, ENT_QUOTES, 'utf-8')
?)
我的理解是不,永远不会。stackoverflow 上的另一个问题也表明不。到目前为止,通过更改浏览我的项目沙箱也说不。但是,我不确定我是否忽略了某些东西。