【发布时间】:2011-07-12 03:07:30
【问题描述】:
我的数据库中有非标准字符(由于换行符)。
我的 HTML 验证器正在抱怨它们。
由于我的 HTML 验证器是我自我的直接延伸,我想保持快乐和绿色-ok-arrow-y。
以前做过这个的人有快速修复吗?
顺便说一句,我不想更改页面的字符集、文档类型或数据。只是在寻找可以清理字符串的utf8_decode() 类型的东西,但是utf8_encode() 和utf8_decode() 不起作用......
更新
对不起,“非标准字符”有点含糊,但这个错误警告也是如此。具体来说,它们不是 SGML 字符,显然不适合 SGML 解析器......但现在我进入了模糊的领域,不知道发生了什么。
【问题讨论】:
-
究竟什么是“非标准字符”?
-
您能准确地告诉我们“非标准”字符是什么吗? XML 中的合法字符集在这里:w3.org/TR/xml/#charsets -- 您要验证为 XHTML 吗?
-
@Ray Toal - 它们是 HeidiSQL 的换行符。错误说:“非 SGML 字符号 30”。最初,它们是文本区域中的换行符,被发送到 HeidiSQL 并存储。当从 HeidiSQL 返回值作为奇怪的换行符时,问题就开始了。
-
编辑了我的答案以显示如何处理该字符 (U+001E)
标签: php character-encoding validation xhtml-1.0-strict sgml