71 votes

Pourquoi ce symbole LSEP s'affiche-t-il sur Chrome et non sur Firefox ou Edge ?

Cette page Web est donc rendue avec ces symboles et on les retrouve sur l'ensemble du site/de l'application, mais sur aucun autre site. Quelqu'un peut-il me dire

  1. Quel est ce symbole ?
  2. Pourquoi ne s'affiche-t-il que dans un seul navigateur ?

Excerpt

76voto

9999years Points 601

Ce caractère est U+2028 Line Separator, qui est une sorte de caractère de nouvelle ligne. Pensez-y comme l'équivalent Unicode du caractère HTML <br> .

Quant à la raison pour laquelle il apparaît ici, je suppose qu'une base de données interne utilise LSEP pour ne pas entrer en conflit avec les nouvelles lignes littérales ou les balises HTML (qui pourraient briser la base de données ou provoquer des erreurs de sécurité), et soit :

  1. Les scripts côté serveur qui convertissent la base de données en HTML ont négligé de remplacer LSEP par <br>
  2. Chrome enfreint simplement les normes en affichant LSEP comme un caractère d'impression (visible), ou bien
  3. Vous avez installé une police qui affiche LSEP comme un caractère d'impression que seul Chrome détecte. Pour savoir de quelle police il s'agit, faites un clic droit sur le texte incriminé et cliquez sur "Inspecter", puis passez à l'onglet "Calculé" sur le panneau de droite. Tout en bas, vous devriez voir une section intitulée "Polices rendues" qui vous aidera à localiser la police incriminée.

Plus d'informations sur le séparateur de ligne, extraites de la norme Unicode, chapitre 5.8, Newline Guidelines ( à la page 12 de ce PDF ) :

Séparateur de ligne et séparateur de paragraphe

Un séparateur de paragraphe, indépendamment de la manière dont il est codé, est utilisé pour indiquer une séparation entre les paragraphes. Un séparateur de ligne indique où un saut de ligne doit se produire, généralement à l'intérieur d'un paragraphe. Par exemple :

Il s'agit d'un paragraphe avec un séparateur de ligne à cet endroit,
provoquant l'apparition du mot "causant" sur une autre ligne, mais ne provoquant pas
l'indentation typique des paragraphes, la coupure des phrases, l'espacement des lignes, ou les
changement d'affleurement (paragraphes à droite, au centre ou à gauche).

À titre de comparaison, les séparateurs de ligne correspondent essentiellement au HTML <BR> et des séparateurs de paragraphes à l'ancien usage du HTML <P> (le HTML moderne délimite les les paragraphes en les entourant de <P>...</P> ). Dans les traitements de texte, les paragraphes sont généralement saisis à l'aide d'un clavier RETURN ou ENTER ; les séparateurs de ligne sont généralement saisis à l'aide d'une méthode modifiée RETURN ou ENTER tels que SHIFT-ENTER .

Un séparateur d'enregistrements est utilisé pour séparer les enregistrements. Par exemple, lors de l'échange de des données tabulaires, un format courant consiste à séparer les cellules par des tabulations et à utiliser un séparateur d'enregistrement. CRLF à l'extrémité d'une ligne de cellules. Cette fonction n'est pas exactement la même que la séparation des lignes mais les mêmes caractères sont souvent utilisés.

Traditionnellement, NLF a commencé comme un séparateur de lignes (et parfois d'enregistrements). séparateur d'enregistrements). Il est toujours utilisé comme séparateur de ligne dans les éditeurs de texte simples tels que les éditeurs de programmes. Lorsque les plateformes et les programmes ont commencé à gérer le traitement de texte avec retour à la ligne automatique, ces caractères ont été réinterprétés pour servir de séparateurs de paragraphes. Par exemple, même des programmes aussi simples que le programme Windows Notepad de Windows et le programme SimpleText de Mac interprètent les caractères de séparation de paragraphe de leur plate-forme. NLF comme un séparateur de paragraphe, et non comme un séparateur de ligne. Une fois que NLF a été réinterprété pour de paragraphe, dans certains cas, un autre caractère de contrôle a été utilisé comme comme séparateur de ligne. Par exemple, la tabulation verticale VT est utilisée dans Microsoft Word. Cependant, le choix du caractère pour le séparateur de ligne est encore moins standardisé que le choix du caractère pour le séparateur de ligne NLF . De nombreux protocoles Internet et un grand nombre de textes existants traitent NLF comme un séparateur de ligne, de sorte qu'un ne peut pas simplement traiter NLF comme séparateur de paragraphes en toutes circonstances.

Pour en savoir plus :

Rapport technique Unicode n°13 : Directives relatives aux nouvelles lignes

Tableau de la ponctuation générale (U+2000-U+206F) PDF

SE : Pourquoi y a-t-il autant d'espaces et de sauts de ligne dans Unicode ?

SO : A quoi sert le caractère unicode 2028 (LS / Line Separator) ?

U+2028 sur codepoints.net Une erreur d'impression indique que U+2028 a été ajouté dans la version 1.1 de la norme Unicode, ce qui est faux - il a été ajouté dans la version 1.0.

17 votes

Comment faire pour que le navigateur le rende correctement ?

1 votes

Dans mon cas, la police de repli css affichant le caractère était Times New Roman sur Windows 10, donc ce n'est pas vraiment une police qui peut être supprimée du système. Étant donné que Edge le convertit en espace, je suppose que les autres navigateurs gèrent ce caractère de manière élégante, tandis que Chrome l'affiche simplement tel quel.

4voto

Peter Points 41

J'ai récemment rencontré ce problème, j'ai essayé un certain nombre de solutions mais finalement j'ai dû coller le texte dans VIM et il y avait un espace supplémentaire que je devais supprimer. J'ai essayé un certain nombre de nettoyeurs HTML mais aucun n'a fonctionné, VIM a été la clé !

1 votes

Ouaip. Sublime fonctionne aussi pour cela. Copier dans votre éditeur, voir le caractère spécial, supprimer... boom.

4voto

Kapil Bathija Points 63

Vous pouvez utiliser cet outil... http://www.nousphere.net/cleanspecial.php

...pour supprimer tous les caractères spéciaux que Chrome affiche.

Des pas : Collez votre HTML et nettoyez en utilisant l'option HTML.

Vous pouvez supprimer manuellement les caractères dans l'éditeur de cette page et voir le résultat.

Collez à nouveau votre HTML dans le fichier et sauvegardez :)

1 votes

Peut-être parce que ça ne répondait pas à la question. Je l'ai trouvé utile en tout cas, donc +1 de ma part.

2voto

Kaizoku Gambare Points 974

Les réponses de 9999 ans sont géniales.

Si vous utilisez Symfony avec un modèle Twig, je vous recommande de vérifier si un bloc Twig est vide. Dans mon cas, il s'agissait d'un bloc Twig vide avec un caractère invisible à l'intérieur.

L'image LSEP ne s'affichait que sur certains appareils ou navigateurs. Sur l'autre, j'avais un espace vide au-dessus de l'en-tête et je ne pouvais pas voir de caractère invisible.

J'ai dû inspecter la requête GET pour voir que la valeur 1f18 se trouvait avant la balise open html.

Une fois que j'ai retiré un bloc Twig vide, il a disparu.

J'espère que cela pourra aider quelqu'un un jour ...

1 votes

Merci pour la réponse. J'utilise Ruby on Rails et ce symbole LSEP apparaissait dans un cas particulier, juste après le saut de ligne dans les locales. Après avoir lu votre réponse, je suis allé retaper toute la phrase à la main et le symbole a disparu. Il s'est avéré qu'il s'agissait d'un espace de largeur nulle à cet endroit, car j'ai copié le texte entier à partir d'un autre outil.

0voto

Jaypi Points 46

Je suis d'accord avec @Kapil Bathija - En fait, vous pouvez copier et coller votre code HTML dans le fichier suivant http://www.nousphere.net/cleanspecial.php et le convertir.

Ensuite, il convertira les caractères spéciaux pour vous - Il suffit d'enlever les espaces entre les mots et vous vous rendrez compte que vous devez appuyer sur la touche retour arrière 2x, ce qui signifie qu'il y a un caractère non valide qui ne peut pas être traduit.

J'ai eu le même problème et ça a bien marché après.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X