2016-09-20 14 views

Antwort

23

Das Zeichen ist U + 2028 Linie Separator, die eine Art von Zeilenendezeichen ist. Stellen Sie es sich als das Unicode-Äquivalent von HTML's <br> vor.

Wie, warum es zeigt sich hier: meine Vermutung wäre, dass eine interne Datenbank verwendet LSEP nicht mit wörtlichen Zeilenumbrüche oder HTML-Tags in Konflikt geraten (die die Datenbank brechen könnte oder Sicherheitsfehler verursachen), und entweder:

  1. die serverseitigen Skripts, die die Datenbank konvertieren zu LSEP mit <br>
  2. Chrome nur Standards bricht durch die Anzeige LSEP als Druck (sichtbar) Charakter oder
  3. Sie haben eine Schriftart installiert ersetzen HTML vernachlässigt, die LSEP zeigt als Ein Druckzeichen, das nur Chrome erkennt. Um herauszufinden, um welche Schriftart es sich handelt, klicken Sie mit der rechten Maustaste auf den fehlerhaften Text und klicken Sie auf "Prüfen". Wechseln Sie dann zur Registerkarte "Berechnet" auf der rechten Seite. Ganz unten sollten Sie einen Abschnitt mit der Bezeichnung "Gerenderte Schriften" sehen, der Ihnen hilft, die problematische Schriftart zu finden.

Mehr Informationen über die Linientrenner aus dem Standard Unicode exzerpiert, Kapitel 5.8, Newline-Richtlinien (on p. 12 of this PDF):

Linie Separator und Paragraph Separator

A Absatz Separator-unabhängig davon, wie Es ist codiert - wird verwendet, um eine Trennung zwischen Absätzen anzuzeigen. Ein Zeilentrennzeichen gibt an, wo ein Zeilenumbruch allein auftreten sollte, typischerweise innerhalb eines Absatzes. Zum Beispiel:

Dies ist ein Absatz mit einem Linientrenner an dieser Stelle
verursacht das Wort „verursacht“ auf einer anderen Linie erscheinen, aber nicht verursacht
die typische Absatzeinzüge, Satz Bruch, Linie Abstand, oder
Änderung in Flush (rechts, Mitte oder links Absätze).

Zum Vergleich Zeilenseparatoren grundsätzlich in HTML <BR> entsprechen, und Absatz Separatoren für ältere Verwendung von HTML <P> (moderne HTML abgrenzt Absätze von ihnen in <P>...</P> umschließt). In Textverarbeitungsprogrammen, Absatz werden Trennzeichen üblicherweise über eine Tastatur RETURN oder ENTER eingegeben; Linie Separatoren sind in der Regel mit einer modifizierten RETURN oder ENTER, wie SHIFT-ENTER eingegeben.

Ein Datensatztrennzeichen wird zum Trennen von Datensätzen verwendet. Wenn zum Beispiel Tabellendaten ausgetauscht werden, besteht ein übliches Format darin, die Zellen zu trennen und am Ende einer Zeile von Zellen einen CRLF zu verwenden.Diese Funktion entspricht nicht exakt der Zeile Separation, aber oft werden dieselben Zeichen verwendet.

Traditionell begann NLF als Linientrennzeichen (und manchmal Trennzeichen). Es wird immer noch als Linientrennzeichen in einfachen Texteditoren wie Programmeditoren verwendet. Als Plattformen und Programme begannen, die Textverarbeitung mit automatischem Zeilenumbruch zu verarbeiten, wurden diese Zeichen neu interpretiert, um für Absatztrennzeichen zu stehen. Beispielsweise interpretieren selbst einfache Programme wie das Windows Notepad-Programm Windows und das Programm Mac SimpleText die Plattform NLF als Absatztrennzeichen, nicht als Zeilentrennzeichen. Sobald NLF zu uminterpretiert wurde, wurde in einigen Fällen ein anderes Steuerzeichen als Linientrenner in Betrieb genommen. Zum Beispiel wird die vertikale Tabellierung VT in Microsoft Word verwendet. Die Wahl des Zeichens für den Zeilentrenner ist jedoch noch weniger standardisiert als die Wahl des Zeichens für NLF. Viele Internet Protokolle und eine Menge von bestehenden Text behandeln NLF als Linientrenner, so kann ein Implementierer nicht einfach NLF als Absatztrenner in allen Umständen behandeln.

Weiterführende Literatur:

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 Ein Druckfehler hier sagt, dass U + 2028 aufgenommen in v 1.1 des Unicode-Standard, der falsch ist -. es wurde in 1,0

+0

9999years Vielen Dank für das tolle Feedback. Ich nehme an, das ist dann etwas, das von den Anwendungsentwicklern unbeabsichtigt eingefügt wird und dann von meinem Webbrowser als etwas anderes als erwartet interpretiert wird? – Joseph

+0

@Joseph Ich habe eine kleine Liste von Möglichkeiten hinzugefügt, die zu dir * führen * die Glyphe führen. – 9999years

+6

Wie lässt man ihren Browser korrekt rendern? –

1

hinzugefügt Sie dieses Tool verwenden können ... http://www.nousphere.net/cleanspecial.php

... alle Sonderzeichen zu entfernen, zeigt Chrome.

Schritte: Fügen Sie Ihre HTML- und Bereinigung mit HTML-Option ein.

Sie können die Zeichen im Editor auf dieser Seite manuell löschen und das Ergebnis sehen.

Fügen Sie Ihre HTML-in-Datei zurück und :)

+0

Warum wurde das abgelehnt? –

+0

Vielleicht, weil es die Frage nicht beantwortet hat. Ich fand es trotzdem nützlich, also +1 von mir. – Olaf

1

9999 Jahre Antworten ist groß speichern.

Wenn Sie Symfony mit Twig-Vorlage verwenden, würde ich empfehlen, nach einem leeren Twig-Block zu suchen. In meinem Fall war es ein leerer Zweigblock mit einem unsichtbaren Saibling darin.

Das LSEP-Zeichen wurde nur bei bestimmten Geräten/Browsern angezeigt. Auf der anderen Seite hatte ich ein Leerzeichen über der Kopfzeile und ich konnte keine unsichtbaren Zeichen sehen.

Ich musste die GET-Anfrage überprüfen, um zu sehen, dass der Wert 1f18 vor dem offenen HTML-Tag war.

Sobald ich einen leeren Twig Block entfernt hatte, war es weg.

Hoffnung dieser jemand eines Tages helfen kann ...

+0

Vielen Dank für die Antwort. Ich verwende Ruby on Rails und dieses LSEP-Symbol wurde in einem bestimmten Fall direkt nach dem Zeilenumbruch in den Gebietsschemas angezeigt. Nachdem ich deine Antwort gelesen hatte, ging ich einfach hin und tippte den ganzen Satz mit der Hand und das Symbol verschwand. Es stellte sich heraus, dass es an dieser Stelle ein Raum mit null Breite war, weil ich den gesamten Text von einem anderen Werkzeug kopiert hatte. –

0

ich mit @Kapil Bathija zustimmen - Grundsätzlich können Sie kopieren & Ihre HTML-Code in http://www.nousphere.net/cleanspecial.php einfügen und konvertieren.

Dann wird es die Sonderzeichen für Sie konvertieren - Entfernen Sie einfach die Leerzeichen zwischen den Wörtern und Sie werden feststellen, dass Sie 2x drücken müssen, was bedeutet, dass ein ungültiges Zeichen, das nicht übersetzt werden kann.

Ich hatte das gleiche Problem und es hat danach gut funktioniert.

1

Ich bin kürzlich in dieses Problem geraten, habe eine Reihe von Korrekturen ausprobiert, aber letztendlich musste ich den Text in VIM einfügen und es gab einen zusätzlichen Platz, den ich löschen musste. Ich habe einige HTML-Cleaner ausprobiert, aber keiner von ihnen hat funktioniert, VIM war der Schlüssel!

Verwandte Themen