2016-09-20 20 views

Odpowiedz

23

To jest znak U + 2028 Linia Separator, który jest rodzajem znaku nowej linii. Wyobraź sobie, że jest to odpowiednik kodu Unicode dla kodu HTML <br>.

Jako dlaczego pokazuje się tutaj: moje przypuszczenie byłoby, że wewnętrzna baza danych używa LSEP aby nie kolidować z dosłownych nowej linii lub znaczników HTML (które mogą pękać bazy danych lub powodować błędy bezpieczeństwa), oraz:

  1. skrypty po stronie serwera, które przekształcają bazę do HTML zaniedbane zastąpić LSEP z <br>
  2. Chrome właśnie łamie standardy wyświetlając LSEP jako (widoczny) charakteru drukarni lub
  3. zainstalowano czcionki, który wyświetla LSEP jako drukowana postać, którą wykrywa tylko Chrome. Aby dowiedzieć się, która to czcionka, kliknij prawym przyciskiem myszy obraźliwy tekst i kliknij "Sprawdź", a następnie przejdź do zakładki "Obliczone" na panelu po prawej stronie. Na samym dole powinieneś zobaczyć sekcję oznaczoną "Renderowane czcionki", która pomoże ci zlokalizować szkodliwą czcionkę.

Więcej informacji na linii rozdzielającej, zaczerpnięty ze standardu Unicode, rozdział 5.8, Wytyczne wiersza (on p. 12 of this PDF):

linię oddzielającą i § Separator

Akapit separator-niezależny od tego, jak jest zakodowany - służy do oznaczania separacji między akapitami. Separator linii wskazuje miejsce, w którym powinien wystąpić sam podział wiersza, zwykle w obrębie akapitu. Na przykład:

Jest to ustęp z separatorem linii w tym momencie,
powodując słowo „spowodowanie” pojawiać się na innej linii, ale nie powoduje
typowy wcięcie akapitu zdanie wybiciu linii odstępy lub zmiana w opróżnieniu (akapity w prawo, w środku lub w lewo).

Dla porównania, separatory wiersza w zasadzie odpowiadają HTML <BR> i separatory akapitów do starszej wykorzystaniem HTML <P> (nowoczesny HTML ogranicza akapitów poprzez zamknięcie ich w <P>...</P>). W procesorach tekstowych separatory są zwykle wprowadzane przy użyciu klawiatury RETURN lub ENTER; linie separatory są zwykle wprowadzane przy użyciu zmodyfikowanego RETURN lub ENTER, takiego jak SHIFT-ENTER.

Separator rekordów służy do rozdzielania rekordów. Na przykład przy wymianie danych tabelarycznych, typowym formatem jest oddzielanie tabulatorów komórkami i używanie ich na końcu linii komórek.Ta funkcja nie jest dokładnie taka sama jak w przypadku separacji linii , ale często używane są te same znaki.

Tradycyjnie NLF zaczynał jako separator linii (i czasami zapisał separator ). Jest nadal używany jako separator linii w prostych edytorach tekstu, takich jak edytory programów . Ponieważ platformy i programy zaczęły obsługiwać przetwarzanie tekstu z automatycznym zawijaniem linii, te znaki zostały ponownie zinterpretowane jako separatory akapitu . Na przykład nawet takie proste programy, jak program Notatnik Windows i program Mac SimpleText interpretują ich platformę jako separator akapitu, a nie separator linii. Po ponownym zinterpretowaniu NLF na oznaczono separator akapitu, w niektórych przypadkach inny znak kontrolny został zmieniony na jako separator liniowy. Na przykład tabela pionowa VT jest używana w programie Microsoft Word. Jednak wybór znaku dla separatora linii jest jeszcze mniej znormalizowany niż wybór znaku dla NLF. Wiele protokółów internetowych i wiele istniejących tekstów traktuje jako separator linii jako NLF, więc implementator nie może po prostu traktować NLF jako separatora akapitu we wszystkich okolicznościach związanych z.

Dalsze czytanie:

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 pomyłka tutaj mówi, że U + 2028 został dodany w V. 1.1 standardu Unicode, który jest fałszywy - to dodano w 1,0

+0

9999years Dziękujemy za informację zwrotną. Zakładam, że jest to coś, co jest wprowadzane przez twórców aplikacji w sposób niezamierzony, a następnie jest analizowane przez moją przeglądarkę jako coś innego, niż się spodziewają? – Joseph

+0

@Joseph Dodałem małą listę możliwości, które prowadzą do * zobaczenia * glifu. – 9999years

+6

W jaki sposób sprawić, aby przeglądarka renderowała je poprawnie? –

1

Można użyć tego narzędzia ... http://www.nousphere.net/cleanspecial.php

... aby usunąć wszystkie znaki specjalne, które chrom wyświetlaczy.

Kroki: Wklej kod HTML i wyczyść za pomocą opcji HTML.

Możesz ręcznie usunąć znaki z edytora na tej stronie i zobaczyć wynik.

Wklej kod HTML do tyłu w pliku i zapisać :)

+0

Dlaczego zostało to odrzucone? –

+0

Może dlatego, że nie odpowiedział na pytanie. W każdym razie okazało się to przydatne, więc daj mi +1. – Olaf

1

9999years odpowiedź jest wielki.

Jeśli korzystasz z szablonu Symfony z Twigiem, polecam sprawdzenie pustego bloku Twig. W moim przypadku był to pusty blok Twig z niewidocznym char wewnątrz.

Symbol LSEP był wyświetlany tylko na określonym urządzeniu/przeglądarce. Po drugiej stronie miałem pustą przestrzeń nad nagłówkiem i nie widziałem żadnego niewidocznego chara.

Musiałem sprawdzić żądanie GET, aby zobaczyć, że wartość 1f18 była przed otwartym znacznikiem html.

Po usunięciu pustego bloku Twig zniknęło.

nadzieję, że może pomóc ktoś pewnego dnia ...

+0

Dziękuję za odpowiedź. Używam Ruby on Rails i ten symbol LSEP pojawił się w jednym konkretnym przypadku zaraz po zerwaniu linii w ustawieniach regionalnych. Po przeczytaniu odpowiedzi po prostu wróciłem i przepisałem całą frazę ręcznie, a symbol zniknął. Okazało się, że to miejsce o zerowej szerokości w tym miejscu, ponieważ skopiowałem cały tekst z innego narzędzia. –

0

zgadzam się z @Kapil Bathija - Zasadniczo można skopiować & wkleić kod HTML do http://www.nousphere.net/cleanspecial.php i przekształcić go.

Potem skonwertuje znaki specjalne dla Ciebie - Po prostu usuń spacje pomiędzy słowami, a zobaczysz, że musisz nacisnąć backspace 2x, co oznacza, że ​​jest niepoprawny znak, którego nie można przetłumaczyć.

Miałem ten sam problem i wszystko poszło dobrze.

1

Niedawno wpadłem na ten problem, próbowałem wielu poprawek, ale ostatecznie musiałem wkleić tekst do VIM i było dodatkowe miejsce, które musiałem usunąć. Próbowałem wielu narzędzi czyszczących HTML, ale żaden z nich nie działał, VIM był kluczem!

Powiązane problemy