web-dev-qa-db-fra.com

Pourquoi ce symbole apparaît-il sur Chrome et non sur Firefox ou Edge?

Donc, cette page Web est rendue avec ces symboles et ils se retrouvent sur tout ce site/cette application, mais sur aucun autre site. Quelqu'un peut-il me dire 1) Quel est le symbole 2) Pourquoi ne s'affiche-t-il que dans un seul navigateur?

 enter image description here

31
Joseph

Ce caractère est le séparateur de lignes U + 2028, qui est une sorte de caractère de nouvelle ligne. Considérez-le comme l’équivalent Unicode du <br> de HTML.

Pourquoi est-ce que cela apparaît ici? Je suppose qu'une base de données interne utilise LSEP pour ne pas entrer en conflit avec des retours à la ligne ou des balises HTML (ce qui pourrait endommager la base de données ou causer des erreurs de sécurité) et:

  1. Les scripts côté serveur qui convertissent la base de données en HTML négligent de remplacer LSEP par <br>
  2. Chrome dépasse les normes en affichant LSEP sous forme de caractère imprimable (visible), ou
  3. Vous avez une police installée qui affiche LSEP en tant que caractère d'impression que seul Chrome détecte. Pour déterminer de quelle police il s'agit, cliquez avec le bouton droit sur le texte incriminé, cliquez sur «Inspecter», puis passez à l'onglet «Calculé» dans le panneau de droite. Tout en bas, vous devriez voir une section intitulée «Polices rendues» qui vous aidera à localiser la police incriminée.

Informations complémentaires sur le séparateur de ligne, extrait du standard Unicode, chapitre 5.8, Lignes directrices Newline ( 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 un séparation entre les paragraphes. Un séparateur de ligne indique où une rupture de ligne seul devrait se produire, généralement dans un paragraphe. Par exemple:

Ceci est un paragraphe avec un séparateur de ligne à ce stade,
faire en sorte que le mot "faisant" apparaisse sur une autre ligne, mais ne provoque pas
l'indentation de paragraphe typique, la rupture de phrase, l'interligne ou
changer de couleur (paragraphes droit, centre ou gauche).

À titre de comparaison, les séparateurs de lignes correspondent essentiellement à HTML <BR> et à séparateurs de paragraphes pour les anciennes utilisations de HTML <P> (les limites HTML modernes délimitent paragraphes en les mettant entre <P>...</P>). Dans Traitement de texte, paragraphe les séparateurs sont généralement entrés à l'aide d'un clavier RETURN ou ENTER; ligne les séparateurs sont généralement entrés à l'aide de RETURN ou ENTER modifié, tel que SHIFT-ENTER.

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

Traditionnellement, NLF commençait par un séparateur de ligne (et parfois, un séparateur ). Il est toujours utilisé comme séparateur de ligne dans les éditeurs de texte simples tels que éditeurs de programmes. Lorsque les plates-formes et les programmes ont commencé à gérer le traitement de texte avec un retour à la ligne automatique, ces caractères ont été réinterprétés pour représenter séparateurs de paragraphes. Par exemple, même des programmes aussi simples que Windows Le programme Bloc-notes et le programme Mac SimpleText interprètent la variable NLF.__ de leur plate-forme. en tant que séparateur de paragraphe, pas de séparateur de ligne. Une fois que NLF a été réinterprété en représenter un séparateur de paragraphe, dans certains cas, un autre caractère de contrôle était mis en service en tant que séparateur de ligne. Par exemple, la tabulation verticale VT est utilisé dans Microsoft Word. Cependant, le choix du caractère pour le séparateur de lignes est encore moins standardisé que le choix du caractère pour NLF. Nombreux Internet Les protocoles et beaucoup de texte existant traitent NLF comme un séparateur de ligne, donc un le réalisateur ne peut pas simplement traiter NLF comme un séparateur de paragraphe en tout conditions.

Lectures complémentaires:

Rapport technique Unicode n ° 13: Newline Guidelines

Graphique de la ponctuation générale (U + 2000 – U + 206F) PDF

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

SO: À quoi sert le caractère unicode 2028 (séparateur de ligne/LS)?

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

35
9999years

J'ai récemment rencontré ce problème, essayé plusieurs corrections, mais j'ai finalement dû coller le texte dans VIM. Un espace supplémentaire devait être supprimé. J'ai essayé un certain nombre de nettoyeurs HTML mais aucun d'entre eux n'a fonctionné, VIM était la clé! 

4
Peter

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

... pour supprimer tous les caractères spéciaux affichés par Chrome.

Étapes: Collez votre code HTML et nettoyez à l'aide de l'option HTML.

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

Collez votre code HTML dans le fichier et enregistrez :)

2
Kapil Bathija

9999ans, c'est génial. 

Si vous utilisez le modèle Symfony avec Twig, il est recommandé de vérifier si le bloc Twig est vide. Dans mon cas, c’était un bloc Twig vide avec un caractère invisible à l’intérieur.

Le caractère LSEP n'était affiché que sur certains périphériques/navigateurs. Sur l’autre, il y avait un espace vide au-dessus de l’entête et je ne pouvais voir aucun caractère invisible. 

J'ai dû inspecter la requête GET pour voir que la valeur 1f18 était avant la balise HTML ouverte.

Une fois que j'ai enlevé un bloc de brindilles vide, il avait disparu.

espérons que cela pourra aider quelqu'un un jour ...

1
Kaizoku Gambare

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

Ensuite, les caractères spéciaux seront convertis. Supprimez simplement 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’un caractère non valide ne peut pas être traduit.

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

0
Jaypi