【问题标题】:Page won't validate due to invalid utf-8 character, but I can't find any invalid characters由于无效的 utf-8 字符,页面无法验证,但我找不到任何无效字符
【发布时间】:2013-08-27 20:47:49
【问题描述】:

有问题的网站:https://www.pepperheads-hotsauces.com

我在这个网站上扮演看门人的角色,我花了很长时间弄清楚为什么这个愚蠢的东西无法验证。错误是“抱歉,我无法验证此文档,因为在第 858 行它包含一个或多个我无法解释为 utf-8 的字节(换句话说,找到的字节不是指定字符编码中的有效值)。请检查文件内容和字符编码指示。 错误是:utf8 "\xC2" 不映射到 Unicode"

我在扯头发。我一直在从主页上删除一些代码,试图辨别这是从哪里来的,但似乎找不到错误。有谁知道一个合理的方法来解决这个问题?我错过了一些明显的东西吗?还是 CDATA 脚本问题?

哈哈!

【问题讨论】:

  • 为什么不能删除Trinidad Scorpion Peppers ( Moruga ) are **�** ??
  • 在 Chrome 和 IE 上页面完全空白(没有服务器响应),所以我认为您的问题比验证问题更严重。验证器的意思是(以一种误导的方式)数据在预期为 UTF-8 的页面上包含字节 0xC2,而 0xC2 字节构成数据级错误。从外部无法判断您的服务器为何发送此类数据。不是无效字符而是不代表任何字符的无效数据。
  • 这快把我逼疯了……好像有缓存问题之类的。那些博客文章甚至根本不在主页上(我完全删除了它们)但你们仍然看到这个。我今天早些时候通过禁用 SEO 插件的故障解决了空白页面问题(至少在我的所有浏览器上都解决了)。 举手我不知道还能做什么!
  • 我清除了数据库缓存,这似乎解决了问题。所以这毕竟是一个缓存问题。伙计,这个网站太坑了。我已经完成了我的工作:(

标签: php validation unicode encoding utf-8


【解决方案1】:

您页面的第 858 行显示:

 Trinidad Scorpion Peppers ( Moruga ) are � ...</strong></p>

尝试在该字符周围使用 htmlspecialchars。

更多信息可以在这里找到:

http://php.net/manual/en/function.htmlspecialchars.php

【讨论】:

  • 我不明白这个。代码的第 858 行当前为&lt;/div&gt;。这些博客文章是我为了解决这个问题而删除的第一件事。更重要的是,这个角色甚至在实际博客文章中的任何地方都不存在。帖子上写着“Trinidad Scorpion Peppers (Moruga) 现已上市。” (我什至删除了括号之间的多余空格),因此数据库中不再存在该行... wth?
猜你喜欢
  • 2020-03-07
  • 2023-03-23
  • 2012-05-02
  • 2014-03-21
  • 1970-01-01
  • 2011-04-22
  • 2014-03-09
  • 2011-07-25
  • 1970-01-01
相关资源
最近更新 更多