为什么这个 LSEP 符号出现在 Chrome 而不是 Firefox 或 Edge?
Why is this LSEP symbol showing up on Chrome and not Firefox or Edge?
所以这个网页是用这些符号呈现的,它们在整个 website/application 但在其他网站上找不到。谁能告诉我
- 这个符号是什么?
- 为什么它只出现在一个浏览器中?
那个字符是U+2028 Line Separator,是换行符的一种。将其视为 HTML 的 <br>
.
的 Unicode 等价物
至于它为什么出现在这里:我的猜测是内部数据库使用 LSEP 不与文字换行符或 HTML 标签冲突(这可能会破坏数据库或导致安全错误),或者:
- 将数据库转换为 HTML 的服务器端脚本忽略了用
<br>
替换 LSEP
- Chrome 只是通过将 LSEP 显示为打印(可见)字符来打破标准,或者
- 您安装的字体将 LSEP 显示为仅 Chrome 检测到的打印字符。要找出它是哪种字体,请右键单击有问题的文本并单击“检查”,然后切换到右侧面板上的“计算”选项卡。在最底部,您应该会看到标有“渲染字体”的部分,这将帮助您找到有问题的字体。
有关行分隔符的更多信息,摘自 Unicode 标准,第 5.8 章,换行指南 (on p. 12 of this PDF):
Line Separator and Paragraph Separator
A paragraph separator—independent of how it is encoded—is used to indicate a
separation between paragraphs. A line separator indicates where a line break
alone should occur, typically within a paragraph. For example:
This is a paragraph with a line separator at this point,
causing the word “causing” to appear on a different line, but not causing
the typical paragraph indentation, sentence breaking, line spacing, or
change in flush (right, center, or left paragraphs).
为了对比,行分隔符基本对应HTML<BR>
,而
HTML <P>
的旧用法的段落分隔符(现代 HTML 分隔符
将段落括在 <P>...</P>
中)。在文字处理器中,段落
分隔符通常使用键盘 RETURN
或 ENTER
输入;线
分隔符通常使用修改后的 RETURN
或 ENTER
输入,例如
SHIFT-ENTER
.
记录分隔符用于分隔记录。例如,当交换
表格数据,一种常见的格式是用制表符分隔单元格并使用 CRLF
在一行单元格的末尾。此功能与 line 不完全相同
分离,但经常使用相同的字符。
传统上,NLF
最初是作为行分隔符(有时记录
分隔器)。它仍然在简单的文本编辑器中用作行分隔符,例如
节目编辑。随着平台和程序开始处理文字处理
使用自动换行,这些字符被重新解释为代表
段落分隔符。例如,即使是像 Windows 这样简单的程序
记事本程序和 Mac SimpleText 程序解释其平台的 NLF
作为段落分隔符,而不是行分隔符。一旦 NLF
被重新解释为
代表段落分隔符,在某些情况下,另一个控制字符是
作为行分隔符投入使用。比如垂直制表VT
在 Microsoft Word 中使用。但是,行分隔符的字符选择
甚至比 NLF
的字符选择更不标准化。许多互联网
协议和许多现有文本将 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 标准的 v.1.1 中添加的,这是错误的——它是在 1.0
中添加的
您可以使用这个工具...
http://www.nousphere.net/cleanspecial.php
...删除所有 Chrome 显示的特殊字符。
步骤:
粘贴您的 HTML 并使用 HTML 选项清理。
您可以在本页的编辑器中手动删除字符并查看结果。
将您的 HTML 粘贴回文件并保存 :)
9999年的答案很棒。
如果您将 Symfony 与 Twig 模板一起使用,我建议您检查一个空的 Twig 块。在我的例子中,它是一个空的 Twig 块,里面有一个不可见的字符。
LSEP 字符仅在特定设备/浏览器上显示。
另一方面,我在 header 上方有一个空白 space,我看不到任何不可见的字符。
我必须检查 GET 请求以查看值 1f18 在打开 html 标记之前。
一旦我删除了一个空的 Twig 块,它就消失了。
希望有一天这能对某人有所帮助...
我同意@Kapil Bathija - 基本上您可以将 HTML 代码复制并粘贴到 http://www.nousphere.net/cleanspecial.php 中并进行转换。
然后它将为您转换特殊字符 - 只需删除单词之间的空格,您就会意识到必须按退格键 2 次,这意味着存在无法翻译的无效字符。
我遇到了同样的问题,后来就很好用了。
我最近 运行 解决了这个问题,尝试了一些修复,但最终我不得不将文本粘贴到 VIM 中,并且有一个额外的 space 我不得不删除。我尝试了一些 HTML 清洁剂,但其中 none 有效,VIM 是关键!
我发现在 WordPress 中删除 "L SEP" 和 "P SEP" 字符的最简单方法是执行这两个 SQL 查询:
UPDATE wp_posts SET post_content = REPLACE(post_content, UNHEX('e280a9'), '')
UPDATE wp_posts SET post_content = REPLACE(post_content, UNHEX('e280a8'), '')
javascript 方式(在一些答案中提到)可能会破坏一些东西(在我的例子中,一些模式 windows 停止工作)。
您也可以复制文本,将其粘贴到 HTML 编辑器(例如 Coda)中,删除换行符,复制并粘贴回您的站点。
视频在这里:https://www.loom.com/share/501498afa7594d95a18382f1188f33ce
我的问题很相似,是“PSEP”或“P SEP”。类似的问题,我的文件中有一个不可见的字符。
我用普通的 space 替换了 \x{2029}。固定的。此问题只出现在 Windows Chrome。不在我的 Mac.
看起来我的客户在最初使用 MS-Word 创建后将 HTML 粘贴到 Wordpress 中。即使删除
和可见空格也不能解决问题。扩展字符在 vi/vim.
中可见
如果您没有 vi/vim 可用,请尝试从 LSEP 之前的 2 个字符突出显示到 LSEP 之后的 2 个字符;删除那个块,然后重新输入正确的字符。
所以这个网页是用这些符号呈现的,它们在整个 website/application 但在其他网站上找不到。谁能告诉我
- 这个符号是什么?
- 为什么它只出现在一个浏览器中?
那个字符是U+2028 Line Separator,是换行符的一种。将其视为 HTML 的 <br>
.
至于它为什么出现在这里:我的猜测是内部数据库使用 LSEP 不与文字换行符或 HTML 标签冲突(这可能会破坏数据库或导致安全错误),或者:
- 将数据库转换为 HTML 的服务器端脚本忽略了用
<br>
替换 LSEP
- Chrome 只是通过将 LSEP 显示为打印(可见)字符来打破标准,或者
- 您安装的字体将 LSEP 显示为仅 Chrome 检测到的打印字符。要找出它是哪种字体,请右键单击有问题的文本并单击“检查”,然后切换到右侧面板上的“计算”选项卡。在最底部,您应该会看到标有“渲染字体”的部分,这将帮助您找到有问题的字体。
有关行分隔符的更多信息,摘自 Unicode 标准,第 5.8 章,换行指南 (on p. 12 of this PDF):
Line Separator and Paragraph Separator
A paragraph separator—independent of how it is encoded—is used to indicate a separation between paragraphs. A line separator indicates where a line break alone should occur, typically within a paragraph. For example:
This is a paragraph with a line separator at this point,
causing the word “causing” to appear on a different line, but not causing
the typical paragraph indentation, sentence breaking, line spacing, or
change in flush (right, center, or left paragraphs).为了对比,行分隔符基本对应HTML
<BR>
,而 HTML<P>
的旧用法的段落分隔符(现代 HTML 分隔符 将段落括在<P>...</P>
中)。在文字处理器中,段落 分隔符通常使用键盘RETURN
或ENTER
输入;线 分隔符通常使用修改后的RETURN
或ENTER
输入,例如SHIFT-ENTER
.记录分隔符用于分隔记录。例如,当交换 表格数据,一种常见的格式是用制表符分隔单元格并使用
CRLF
在一行单元格的末尾。此功能与 line 不完全相同 分离,但经常使用相同的字符。传统上,
NLF
最初是作为行分隔符(有时记录 分隔器)。它仍然在简单的文本编辑器中用作行分隔符,例如 节目编辑。随着平台和程序开始处理文字处理 使用自动换行,这些字符被重新解释为代表 段落分隔符。例如,即使是像 Windows 这样简单的程序 记事本程序和 Mac SimpleText 程序解释其平台的NLF
作为段落分隔符,而不是行分隔符。一旦NLF
被重新解释为 代表段落分隔符,在某些情况下,另一个控制字符是 作为行分隔符投入使用。比如垂直制表VT 在 Microsoft Word 中使用。但是,行分隔符的字符选择 甚至比NLF
的字符选择更不标准化。许多互联网 协议和许多现有文本将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 标准的 v.1.1 中添加的,这是错误的——它是在 1.0
中添加的您可以使用这个工具... http://www.nousphere.net/cleanspecial.php
...删除所有 Chrome 显示的特殊字符。
步骤: 粘贴您的 HTML 并使用 HTML 选项清理。
您可以在本页的编辑器中手动删除字符并查看结果。
将您的 HTML 粘贴回文件并保存 :)
9999年的答案很棒。
如果您将 Symfony 与 Twig 模板一起使用,我建议您检查一个空的 Twig 块。在我的例子中,它是一个空的 Twig 块,里面有一个不可见的字符。
LSEP 字符仅在特定设备/浏览器上显示。 另一方面,我在 header 上方有一个空白 space,我看不到任何不可见的字符。
我必须检查 GET 请求以查看值 1f18 在打开 html 标记之前。
一旦我删除了一个空的 Twig 块,它就消失了。
希望有一天这能对某人有所帮助...
我同意@Kapil Bathija - 基本上您可以将 HTML 代码复制并粘贴到 http://www.nousphere.net/cleanspecial.php 中并进行转换。
然后它将为您转换特殊字符 - 只需删除单词之间的空格,您就会意识到必须按退格键 2 次,这意味着存在无法翻译的无效字符。
我遇到了同样的问题,后来就很好用了。
我最近 运行 解决了这个问题,尝试了一些修复,但最终我不得不将文本粘贴到 VIM 中,并且有一个额外的 space 我不得不删除。我尝试了一些 HTML 清洁剂,但其中 none 有效,VIM 是关键!
我发现在 WordPress 中删除 "L SEP" 和 "P SEP" 字符的最简单方法是执行这两个 SQL 查询:
UPDATE wp_posts SET post_content = REPLACE(post_content, UNHEX('e280a9'), '')
UPDATE wp_posts SET post_content = REPLACE(post_content, UNHEX('e280a8'), '')
javascript 方式(在一些答案中提到)可能会破坏一些东西(在我的例子中,一些模式 windows 停止工作)。
您也可以复制文本,将其粘贴到 HTML 编辑器(例如 Coda)中,删除换行符,复制并粘贴回您的站点。
视频在这里:https://www.loom.com/share/501498afa7594d95a18382f1188f33ce
我的问题很相似,是“PSEP”或“P SEP”。类似的问题,我的文件中有一个不可见的字符。
我用普通的 space 替换了 \x{2029}。固定的。此问题只出现在 Windows Chrome。不在我的 Mac.
看起来我的客户在最初使用 MS-Word 创建后将 HTML 粘贴到 Wordpress 中。即使删除
和可见空格也不能解决问题。扩展字符在 vi/vim.
如果您没有 vi/vim 可用,请尝试从 LSEP 之前的 2 个字符突出显示到 LSEP 之后的 2 个字符;删除那个块,然后重新输入正确的字符。