htmlspecialchars 输出空白

2024-03-24

同时使用 htmlspecialchars 和 htmlentities 会导致项目的空白输出,例如符号甚至单个'引号。显然,这绝对没用,但是在不使用 html 字符的情况下输出数据会导致 � 和 � 都出现此符号。出现这种情况有什么原因吗?

这是导致问题的代码:

<p>
<?php 
    echo nl2br(htmlspecialchars($aboutarray[0]['about_us'], ENT_COMPAT, "UTF-8")); 
?>
</p>

该字符串未采用有效的 UTF-8 编码进行编码。它可能采用另一种编码,例如 UTF-16,或者可能只是包含一些与任何格式不对应的二进制垃圾。

最重要的是,由于您指定“UTF-8”作为 htmlspecialchars() 的编码类型参数,因此如果字符串不符合“UTF-8”,它将返回空字符串。它在PHP手册 http://php.net/manual/en/function.htmlspecialchars.php.

一个简单的修复方法是使用替换或忽略标志。改变:

htmlspecialchars($aboutarray[0]['about_us'], ENT_COMPAT, "UTF-8")

To:

htmlspecialchars($aboutarray[0]['about_us'], ENT_COMPAT|ENT_SUBSTITUTE, "UTF-8")

Or:

htmlspecialchars($aboutarray[0]['about_us'], ENT_COMPAT|ENT_IGNORE, "UTF-8")

注意:ENT_IGNORE 删除不符合要求的字节。这可能会导致安全问题 http://unicode.org/reports/tr36/#Deletion_of_Noncharacters.最好真正理解字符串的内容及其编码方式。纠正问题的根源,而不是使用简单的 ENT_IGNORE 修复。

你应该问自己why你的字符串不是用UTF-8编码的...should是,但事实并非如此。

我刚刚也遇到了这个问题;您可以阅读有关为什么返回空字符串的详细信息here https://stackoverflow.com/questions/11705829/htmlspecialchars-causing-text-to-disapear.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

htmlspecialchars 输出空白 的相关文章

  • 配置 .htaccess 以在 PHP 框架 (Silex) 上工作

    我的 Apache2 本地主机 linux 上有一个工作路径 http localhost lab silex web index php hello name 我想成为 http localhost lab silex hello nam
  • 如何从字符串中只获取数字? [复制]

    这个问题在这里已经有答案了 我有这样的字符串 第 001 课 完成 在这种情况下 我只想获取数字部分001 我试过这个 str the title preg match all d str matches number implode ma
  • 从 firebase 数据库获取最高分值

    在我的网站上有一些我从 firebase 获得的电影 电影的分数在0到100之间 我已经在我的网站上找到了所有电影 我还想按降序显示它们 例如评分最高的 5 部电影 我怎样才能实现这一点 感谢您的回答 const app initializ
  • 占位符不适用于 Internet Explorer

    我的应用程序出现了小问题 Internet Explorer 11 上不存在占位符 我尝试了下面的 CSS 示例 但没有成功 ms input placeholder IE10 11 color ccc important font wei
  • 如何使单词中的每个字母在悬停时发生变化

    假设我的网站上某个段落中有一个单词 IamGreat 我希望它在悬停时更改为 Good4you 但是 我不想更改整个单词 而是希望每个字母单独更改 因此 如果我将鼠标悬停在字母 I 上 它将变成字母 G 字母 r 将变成数字 4 等 这两个
  • 从提交的表单中转义字符串中的字符

    每次发布帖子时 我都会得到转义字符 gt gt gt 我有一个多步骤表单 它将数据从一种表单传输到另一种表单 我将这些值与准备好的语句一起保存在数据库中 数据库中的值当前看起来像Paul s House 用户应该可以在字符串中使用单引号和双
  • 等待动态加载脚本

    在我的页面正文中 我需要插入以下代码作为 AJAX 调用的结果 p Loading jQuery p p Using jQuery p 我不能使用 load 由于文档已经加载 因此该事件不会触发 这安全吗 如果没有 我如何确保在执行自定义生
  • PHP header() 和 jquery mobile

    我想使用 php header Location newpage php 进行重定向 我没有收到错误 但 Jquery mobile 似乎无法加载目标页面 并且地址栏仍保留旧地址 请问您有什么建议吗 Thanks 尝试添加data ajax
  • 使用 PDO 在 SQLite 中检索单个(且唯一)行的最简单方法

    我有这个 PDO stmt db gt prepare SELECT FROM channels WHERE id id stmt gt bindValue id id SQLITE3 INTEGER result stmt gt exec
  • URL 重写帮助

    RewriteEngine on RewriteCond REQUEST URI index php RewriteRule index php q 1 L 这应该将任何 url 重写为 index php q url 并且它可以工作 反正
  • cURL '格式错误的网址'

    This url 在浏览器中工作得很好 但 cURL 返回错误 3 格式错误的 url 关于解决方法有什么想法吗 EDIT 卷曲代码 function get web page url options array CURLOPT RETUR
  • 在 MySQL 中搜索多个单词

    我使用 HTML 表单来允许用户查找数据库表中的条目
  • 需要使用 php 从远程服务器下载与 $_FILES 相同的内容[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 好的 我有处理图像上传的 php 代
  • 避免 SQLite3 中的 SQL 注入

    我正在尝试找出一种避免 SQL 注入的好简单方法 到目前为止我只能提出两个想法 对用户输入进行 Base64 编码 其实不想这样做 使用正则表达式删除不需要的字符 目前正在使用这个 不确定是否100 安全 这是我当前的代码
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • php,in_array,0值

    我试图理解in array下一个场景的行为 arr array 2 gt Bye 52 77 3 gt Hey var dump in array 0 arr 返回值in array 是布尔值true 正如你所看到的no值等于0 所以有人可
  • 从外部 bash 设置环境变量

    我试图使用 PHP 从命令行 设置 bash 环境变量 但没有成功 buff array buff VARTESTKEY VARTESTVALUE buff export VARTESTKEY file put contents scrip
  • 使 div 的大小与其内部图像的大小相同

    我有一个带有以下代码的div HTML div img src img logo png div CSS div imgContainer width 250px height 250px padding 13px 问题是用户可以编辑图像大
  • sqlsrv_num_rows 不返回任何值

    我正在尝试获取查询中返回的行数 while 循环遍历结果有效 但由于某种原因 sqlsrv num rows 不返回任何值 result SELECT from dtable WHERE id2 apple query sqlsrv que
  • CSS交付优化:如何推迟CSS加载?

    我在尝试着优化 CSS 交付遵循针对开发人员的谷歌文档https developers google com speed docs insights OptimizeCSSDelivery example https developers

随机推荐

  • 如果您强制推送到具有现有拉取请求的分支,会发生什么?

    我正在开发一个 git 分支 该分支目前是 github 上已关闭拉取请求的一部分 在最初的拉取请求之后 我做了一些额外的提交 将这些提交推送到 github 然后恢复这些提交并重新提交它们 因为我需要修改提交 现在 如果我想将这些提交推送
  • AVPlayer 消除了 Swift 2.2 中的观察者崩溃

    我有一个视频应用程序 是我在 Swift 1 中构建的 我一直在尝试迁移到 Swift 2 2 除了与观察者有关的奇怪崩溃之外 这一切 最终 都正常工作 func removeObservers print REMOVING OBSERVE
  • 两个 NSDate 之间的天数[重复]

    这个问题在这里已经有答案了 如何确定两次之间的天数NSDate值 也考虑到时间 The NSDate值可以是任何形式 NSDate date takes 具体来说 当用户在我的 iPhone 应用程序中进入非活动状态时 我存储以下值 exi
  • 如何检查变量是否是类的实例?

    在Java中 你可以这样做instanceof 有 Ruby 等价的吗 几乎一模一样 您可以使用Object s instance of method a instance of String gt true a instance of O
  • 使用 Perl split 函数,但保留某些分隔符

    我有一个字符串需要根据某个字符进行拆分 但是 当字符串两侧是数字时 我只需要在其中一个字符上拆分字符串 相同的字符存在于字符串中的其他位置 但两侧会有一个字母 至少在一侧 我尝试按如下方式使用 split 函数 使用 x 作为相关字符 my
  • 更改四开中的标题大小和颜色(html 输出)

    我有一个带有 HTML 渲染的四开文件 我想更改标题的大小和颜色 我应该如何操作 最小的例子 title Cars format html MTCars r head mtcars 您可以使用css直接在您的代码中 指定 title仅将更改
  • NuGet 打包和引用 dll

    背景 我有两个程序集 称为 A 和 B A 引用了 B A 还引用了一些其他 dll Microsoft Enterprise Library Data 和 Microsoft Enterprise Library Common 我认为这些
  • spring security - expiredUrl 不起作用

    我需要配置expired url在我的 Spring MVC 应用程序中 这是我的努力 但没有效果 Override protected void configure HttpSecurity http throws Exception h
  • 在 Android Studio 中调试 C++ 时“启动 LLDB 服务器”

    我想在 Android Studio 中调试 C 模块 我在 android studio 中创建了一个支持 C 的项目 When i debug this is what i get 启动 LLDB 服务器 永远不会停止 如果我停止调试
  • $_SERVER['document_root'] 返回 /htdocs 而不是 /public_html

    我正在寻找切换到新主机的机会 他们提供了这个不错的小 临时 URL 以便在切换之前测试您的文件 一切都很好 花花公子 所以我复制了所有文件 在每一页的顶部我require来自服务器的另一个文件 存储在public html includes
  • SQL 按匹配字段数对结果进行排序

    这里有一个复杂的 SQL 问题 我目前有一个匹配多个字段的 SELECT 语句 如下所示 SELECT field1 field2 field3 field4 field5 FROM table WHERE field1 variable
  • 转换为枚举与 Enum.ToObject

    我最近看到一个项目正在使用这个style SomeEnum Enum ToObject typeof SomeEnum some int 而不是这种风格 SomeEnum some int 为什么使用前者 这只是风格问题吗 来自 MSDN
  • intl 扩展名应该可用 symfony

    现在如果我去http localhost 8000 config php http localhost 8000 config php它告诉我 安装并启用 intl 扩展 用于验证器 所以我所做的是 Checked etc php 7 0
  • Mac App Store 应用程序 iTMSTransporter 错误

    我正在尝试将我的 pkg 文件发送给 Apple 但系统显示 Transporter 正在搜索更新的软件组件 并且该进程始终在运行 无法停止 这是我的活动日志 看起来像是上传错误 我已经安装了 iTMSTransporter 1 7 7 p
  • Spring 的 Azure Pipeline Gradle 构建失败

    我尝试通过 Yaml 管道在 Azure 上构建和部署 Spring API 但我在 spring 应用程序 gradle 构建期间收到错误消息 Error home vsts work 1 s gradlew failed with re
  • ionic 5 强制浏览器应用程序的浅色主题

    我已经构建了这个应用程序https cvirus app https cvirus app并在浏览器上构建和部署 在 Android 手机上的 Chrome 浏览器上 它会呈现深色背景 因为默认情况下似乎应用了深色主题 我想在任何地方强制使
  • Postgres LIKE 将列值作为子字符串

    我正在尝试编写一个 WHERE 语句 该语句将匹配列值是另一个字符串的子字符串的行 例如 我可能有一个event记录与name现场Edward Sharpe 我想做这样的事情 SELECT FROM events WHERE name LI
  • 如何在 X 秒后应用 window.close() ?

    我有一个弹出窗口 其中包含 onclick 操作 可以在按下提交按钮时关闭该框
  • UIBezierPath 的橡皮擦

    我正在使用 UIBezierPath 在 iPad 应用程序中进行免费手绘 我想用橡皮擦乌贝济耶路径 questions tagged uibezierpath 不过 我想only擦除其路径中的图形 我cannot使用路径颜色作为背景颜色
  • htmlspecialchars 输出空白

    同时使用 htmlspecialchars 和 htmlentities 会导致项目的空白输出 例如 符号甚至单个 引号 显然 这绝对没用 但是在不使用 html 字符的情况下输出数据会导致 和 都出现此符号 出现这种情况有什么原因吗 这是