该字符是U + 2028行分隔符,这是一种换行符。可以把它想象成HTML的<br>
的Unicode等价物。
至于它出现在这里的原因:我的猜测是内部数据库使用LSEP不与文字换行符或HTML标记冲突(可能会破坏数据库或导致安全错误),并且:
<br>
替换LSEP有关行分隔符的更多信息,摘自Unicode标准,第5.8章,换行符指南(on p. 12 of this PDF):
Line Separator and Paragraph Separator
段落分隔符 - 与编码方式无关 - 用于表示段落之间的分隔。行分隔符指示单独换行的位置,通常在段落内。例如:
这是一个带有行分隔符的段落, 导致单词“cause”出现在不同的行上,但不会导致 典型的段落缩进,句子断开,行间距或 刷新(右,中或左段落)。
为了进行比较,行分隔符基本上对应于HTML
<BR>
,而段落分隔符与较早使用的HTML<P>
(现代HTML通过将它们括在<P>...</P>
中来分隔段落)。在文字处理器中,段落分隔符通常使用键盘RETURN
或ENTER
输入;行分隔符通常使用修改后的RETURN
或ENTER
输入,例如SHIFT-ENTER
。记录分隔符用于分隔记录。例如,在交换表格数据时,常见的格式是对单元格进行制表分隔,并在单元格行的末尾使用
CRLF
。此功能与行分离不完全相同,但通常使用相同的字符。传统上,
NLF
最初是一个行分隔符(有时记录分隔符)。它仍然用作简单文本编辑器(如程序编辑器)中的行分隔符。随着平台和程序开始使用自动换行处理文字处理,这些字符被重新解释为代表段落分隔符。例如,即使像Windows Notepad程序和Mac SimpleText程序这样的简单程序也将其平台的NLF
解释为段落分隔符,而不是行分隔符。一旦NLF
被重新解释为代表段落分隔符,在某些情况下,另一个控制字符被用作行分隔符。例如,垂直制表VT用于Microsoft Word。但是,行分隔符的字符选择甚至比NLF
的字符选择标准化程度更低。许多Internet协议和许多现有文本将NLF
视为行分隔符,因此实现者不能简单地将NLF
视为段落分隔符。
进一步阅读:
Unicode Technical Report #13: Newline Guidelines
General Punctuation (U+2000–U+206F) chart PDF
SE: Why are there so many spaces and line breaks in Unicode?
SO: What is unicode character 2028 (LS / Line Separator) used for?
U+2028 on codepoints.net这里的错误指纹说U + 2028是在Unicode标准的1.1版中添加的,这是假的 - 它是在1.0中添加的
你可以使用这个工具...... http://www.nousphere.net/cleanspecial.php
...删除Chrome显示的所有特殊字符。
步骤:使用HTML选项粘贴HTML和清理。
您可以在此页面上手动删除编辑器中的字符并查看结果。
将HTML粘贴到文件中并保存:)
我最近遇到了这个问题,尝试了一些修复,但最终我不得不将文本粘贴到VIM中,还有一个额外的空间我不得不删除。我尝试了一些HTML清洁工,但没有一个工作,VIM是关键!
9999年的答案很棒。
如果你使用Symfony与Twig模板我建议检查一个空的Twig块。在我的例子中,它是一个空的Twig块,里面有一个看不见的char。
LSEP char仅显示在某些设备/浏览器上。另一方面,标题上方有一个空白区域,我看不到任何隐形字符。
我必须检查GET请求,看看值1f18是否在打开的html标记之前。
一旦我删除了一个空的Twig块,它就消失了。
希望有一天能帮助别人......
我同意@Kapil Bathija - 基本上你可以将你的HTML代码复制并粘贴到http://www.nousphere.net/cleanspecial.php并进行转换。
然后它将为你转换特殊字符 - 只需删除单词之间的空格,你就会发现你必须按退格2x意味着有一个无法翻译的无效字符。
我有同样的问题,之后工作得很好。