2016-09-20 118 views

回答

23

字符是U + 2028行分隔符,它是一種新行字符的。把它看作是HTML的<br>的Unicode等價物。

至於爲什麼在這裏顯示出來:我的猜測是,一個內部數據庫使用LSEP不與文字換行或HTML標籤(這可能會破壞數據庫或引起安全錯誤)發生衝突,並且:

  1. 該轉換數據庫的服務器端腳本爲HTML忽視與<br>
  2. Chrome瀏覽器只有通過顯示LSEP作爲印刷(可見)字符分解標準,或
  3. 您已經安裝的字體顯示LSEP以取代LSEP只有Chrome檢測到的打印字符。要確定它是哪種字體,請右鍵單擊違規文本並單擊「檢查」,然後切換到右側面板上的「計算」選項卡。在最底部,您應該看到標有「渲染字體」的部分,這將幫助您找到違規字體。就行了分離器

的更多信息,從Unicode標準,第5.8節,換行指引(on p. 12 of this PDF)摘錄:

行分隔符和段落分隔

段落分隔符無關的如何它被編碼 - 用於指示段落之間的分隔。行分隔符指示應該單獨出現換行符 的位置,通常在段落內。例如:

這是在這一點上有一個行分隔段落,
引起字「導致」出現在另一條線路,但沒有造成
典型的段落縮進,句子破,線間距,或者
刷新(右側,中間或左側段落)。

爲了比較,行分隔基本上對應於HTML <BR>和 段落分隔成HTML <P>的老的用法(現代HTML在<P>...</P>括起來劃 段)。在文字處理器中,段落 分隔符通常使用鍵盤RETURNENTER輸入;行 分隔符通常使用修改的RETURNENTER輸入,如 SHIFT-ENTER

記錄分隔符用於分隔記錄。例如,當交換 表格數據時,常見的格式是製表單元格並在單元行的末尾使用一個CRLF 。此功能與行 分隔不完全相同,但經常使用相同的字符。

傳統上,NLF作爲行分隔符開始(有時記錄爲 分隔符)。它仍用作簡單文本編輯器(如 程序編輯器)中的行分隔符。隨着平臺和程序開始使用自動換行處理文字處理 ,這些字符被重新解釋爲代表 段落分隔符。例如,即使像Windows 記事本程序和Mac SimpleText程序這樣簡單的程序也將其平臺的NLF 解釋爲段落分隔符,而不是行分隔符。一旦NLF重新解釋爲 代表段落分隔符,在某些情況下,另一個控制字符 作爲行分隔符被壓入服務中。例如,在Microsoft Word中使用垂直列表VT 。但是,行分隔符 的字符選擇比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

+0

9999年感謝您的反饋。 我假設這是由應用程序開發人員無意中插入的內容,然後被我的Web瀏覽器解析爲不同於他們期望的內容? – Joseph

+0

@Joseph我添加了一個可能性的小列表,導致你*看到*字形。 – 9999years

+6

如何讓瀏覽器正確渲染它? –

1

加入您可以使用此工具... http://www.nousphere.net/cleanspecial.php

...刪除所有瀏覽器就會顯示特殊字符。

步驟: 粘貼您的HTML並使用HTML選項清除。

您可以手動刪除此頁面上編輯器中的字符並查看結果。

將您的HTML粘貼到文件中並保存:)

+0

爲什麼這會降低投票率? –

+0

也許是因爲它沒有回答這個問題。無論如何,我發現它很有用,所以我+1。 – Olaf

1

9999年的答案是偉大的。

如果您使用Symfony與枝條模板,我會建議檢查一個空的枝條塊。在我的情況下,它是一個空的Twig塊,裏面有一個不可見的char。

LSEP字符只在某些設備/瀏覽器上顯示。 另一方面,我在標題上方留下了一個空白區域,我看不到任何看不見的字符。

我必須檢查GET請求才能看到值1f18在開放html標記之前。

一旦我刪除了一個空的樹枝塊,它就消失了。

希望這可以幫助別人第一天開始...

+0

謝謝你的回答。我正在使用Ruby on Rails,這個LSEP符號出現在一個特定的情況下,在語言環境中換行後。在閱讀你的答案後,我剛剛用手重新輸入了整個短語,並且符號消失了。原來,這是一個零寬度的空間,因爲我從另一個工具複製了整個文本。 –

0

我同意@Kapil Bathija - 基本上你可以複製粘貼&你的HTML代碼到http://www.nousphere.net/cleanspecial.php並將其轉換。

然後它會爲您轉換特殊字符 - 只要刪除單詞之間的空格,您就會意識到必須按退格鍵2x表示無法翻譯的無效字符。

我有同樣的問題,事後工作得很好。

1

我最近遇到了這個問題,嘗試了一些修復程序,但最終我不得不將這些文本粘貼到VIM中,並且還有一個額外的空間需要刪除。我嘗試了一些HTML清潔工,但都沒有工作,VIM是關鍵!

相關問題