加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 为’htmlspecialchars()的出现添加’utf-8’参数 – 它可

发布时间:2020-12-13 17:02:20 所属栏目:PHP教程 来源:网络整理
导读:假设我的项目始终是utf-8并且一直使用utf-8编码,如果我将所有出现的htmlspecialchars($var)更改为htmlspecialchars($var,ENT_QUOTES,’utf-8),是否有任何合法可能会破坏“)? 我知道一件事:显然,ENT_QUOTES与ENT_COMPAT的不同之处在于它也逃脱了单引号.假设
假设我的项目始终是utf-8并且一直使用utf-8编码,如果我将所有出现的htmlspecialchars($var)更改为htmlspecialchars($var,ENT_QUOTES,’utf-8),是否有任何合法可能会破坏“)?

我知道一件事:显然,ENT_QUOTES与ENT_COMPAT的不同之处在于它也逃脱了单引号.假设我知道这一点不会破坏任何东西,还剩下什么吗?

措辞不同:

在没有charset参数的情况下使用htmlspecialchars()时是否存在可想象的结果,仅使用来自charset的数据,与charset参数一起使用时与htmlspecialchars()不同?

(在任何时候,htmlspecialchars($stringThatIsValidUTF8,ENT_QUOTES)!== htmlspecialchars($stringThatIsValidUTF8,’utf-8′)?)

我的理解说不,永远不会. Another question here on stackoverflow也暗示不.到目前为止,使用更改浏览我的项目沙箱也说不.但是,我不确定我是否会忽略某些东西.

解决方法

我认为另一个问题中PHP手册的引用肯定地回答了它:

For the purposes of this function,the charsets ISO-8859-1,ISO-8859-15,UTF-8,cp866,cp1251,cp1252,and KOI8-R are effectively equivalent,as the characters affected by htmlspecialchars() occupy the same positions in all of these charsets.

“&>等等在每个编码中都有相同的代码,即使在UTF-8中它们只需要一个字节,因为UTF-8字符只在必要时才会占用多个字节.因此,即使你到目前为止,一直在用ISO-8859-1处理UTF-8数据,当切换到显式UTF-8输入时,输出将是相同的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读