webentwicklung-frage-antwort-db.com.de

Warum erscheint dieses Symbol in Chrome und nicht in Firefox oder Edge?

Daher wird diese Webseite mit diesen Symbolen gerendert und sie sind auf dieser gesamten Website/Anwendung zu finden, jedoch auf keiner anderen Website. Kann mir jemand sagen 1) Was ist das Symbol? 2) Warum wird es nur in einem Browser angezeigt?

 enter image description here

31
Joseph

Dieses Zeichen ist U + 2028 Line Separator, eine Art Zeilenumbruchzeichen. Stellen Sie sich das Unicode-Äquivalent von <br> von HTML vor.

Warum es hier angezeigt wird: Meine Vermutung wäre, dass eine interne Datenbank LSEP verwendet, um keinen Konflikt mit wörtlichen Zeilenumbrüchen oder HTML-Tags zu verursachen (die die Datenbank beschädigen oder Sicherheitsfehler verursachen können). Entweder:

  1. Die serverseitigen Skripts, die die Datenbank in HTML konvertieren, wurden ignoriert, um LSEP durch <br> zu ersetzen.
  2. Chrome bricht Standards, indem es LSEP als (sichtbares) Druckzeichen anzeigt oder
  3. Sie haben eine Schriftart installiert, die LSEP als Druckzeichen anzeigt, 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 „Inspect“. Wechseln Sie dann im rechten Bedienfeld auf die Registerkarte „Computed“. Ganz unten sollten Sie einen Abschnitt mit der Bezeichnung "Rendered Fonts" sehen, der Ihnen hilft, die fehlerhafte Schriftart zu finden.

Weitere Informationen zum Zeilentrennzeichen, aus dem Unicode-Standard entnommen, Kapitel 5.8, Newline-Richtlinien ( auf S. 12 dieses PDF ):

Zeilen- und Absatzseparator

Ein Absatztrennzeichen - unabhängig von seiner Kodierung - wird verwendet, um ein .__ anzuzeigen. Trennung zwischen Absätzen. Ein Zeilentrennzeichen gibt an, wo ein Zeilenumbruch erfolgt allein sollte normalerweise innerhalb eines Absatzes auftreten. Zum Beispiel:

Dies ist ein Absatz mit einem Trennzeichen an dieser Stelle,
bewirkt, dass das Wort "verursacht" in einer anderen Zeile erscheint, aber nicht verursacht
der typische Absatzeinzug, Satzbruch, Zeilenabstand oder
Flush ändern (rechte, mittlere oder linke Absätze).

Zum Vergleich entsprechen Zeilentrennzeichen grundsätzlich den HTML-Codes <BR> und Absatztrennzeichen für ältere Verwendung von HTML <P> (modernes HTML begrenzt Absätze durch Einschließen in <P>...</P>). In Word-Prozessoren Absatz Trennzeichen werden normalerweise mit einer Tastatur eingegeben: RETURN oder ENTER; Linie Trennzeichen werden normalerweise mit einer modifizierten RETURN oder ENTER eingegeben, z. B. SHIFT-ENTER.

Ein Datensatztrennzeichen wird verwendet, um Datensätze zu trennen. Zum Beispiel beim Austausch von Tabellendaten, ein übliches Format besteht darin, die Zellen durch Tabulatortrennung voneinander zu trennen und eine CRLF.__ zu verwenden. am Ende einer Zeile von Zellen. Diese Funktion entspricht nicht genau der Zeile Trennung, aber oft werden dieselben Zeichen verwendet.

Üblicherweise begann NLF als Zeilentrennzeichen (und manchmal auch Trennzeichen). In einfachen Texteditoren wie .__ wird es immer noch als Trennzeichen verwendet. Programm-Editoren. Als Plattformen und Programme begannen, die Word-Verarbeitung zu bearbeiten Mit automatischem Zeilenumbruch wurden diese Zeichen neu interpretiert und stehen für Absatztrennzeichen. Beispielsweise können auch einfache Programme wie Windows Das Notepad-Programm und das Mac SimpleText-Programm interpretieren die NLF.__ ihrer Plattform. als Absatztrennzeichen, nicht als Trennzeichen. Einmal wurde NLF in .__ neu interpretiert. steht für ein Absatztrennzeichen, in einigen Fällen war ein anderes Steuerzeichen als Linientrenner in Betrieb genommen. Zum Beispiel vertikale Tabellierung VT wird in Microsoft Word verwendet. Die Wahl des Zeichens für das Trennzeichen ist noch weniger standardisiert als die Wahl des Zeichens für NLF. Viele Internet Protokolle und viel vorhandener Text behandeln NLF als Zeilentrennzeichen, also ein Der Implementierer kann NLF nicht einfach in allen .__ als Absatztrennzeichen behandeln. Umstände.

Lesen Sie weiter:

Technischer Unicode-Bericht # 13: Richtlinien für neue Richtlinien

Diagramm der allgemeinen Interpunktion (U + 2000 – U + 206F) PDF

SE: Warum gibt es in Unicode so viele Leerzeichen und Zeilenumbrüche?

SO: Wozu dient das Unicode-Zeichen 2028 (LS/Line Separator)?

U + 2028 auf codepoints.net Ein falscher Druck sagt aus, dass U + 2028 in Version 1.1 des Unicode-Standards hinzugefügt wurde, was falsch ist - es wurde in 1.0 hinzugefügt

35
9999years

Ich bin vor kurzem auf dieses Problem gestoßen, habe eine Reihe von Korrekturen ausprobiert, aber schließlich musste ich den Text in VIM einfügen und es gab einen zusätzlichen Platz, den ich löschen musste. Ich habe eine Reihe von HTML-Cleanern ausprobiert, aber keiner von ihnen hat funktioniert. VIM war der Schlüssel! 

4
Peter

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

... um alle Sonderzeichen zu entfernen, die Chrome anzeigt.

Schritte: Fügen Sie Ihren HTML-Code ein und reinigen Sie die Option mit HTML.

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

Fügen Sie Ihren HTML-Code wieder in die Datei ein und speichern Sie ihn :)

2
Kapil Bathija

9999 Jahre Antworten ist großartig. 

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

Das LSEP-Zeichen wurde nur auf bestimmten Geräten/Browsern angezeigt. .__ Auf der anderen Seite hatte ich ein leeres Feld über dem Header und ich konnte kein unsichtbares Zeichen sehen. 

Ich musste die GET-Anfrage überprüfen, um zu sehen, dass der Wert 1f18 vor dem Tag open html lag.

Nachdem ich einen leeren Twig-Block entfernt hatte, war er weg.

hoffe das kann jemandem eines tages helfen ...

1
Kaizoku Gambare

Ich stimme @Kapil Bathija zu. Grundsätzlich können Sie Ihren HTML-Code in http://www.nousphere.net/cleanspecial.php kopieren und einfügen und konvertieren. 

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

Ich hatte das gleiche Problem und es hat gut funktioniert. 

0
Jaypi