web-dev-qa-db-fra.com

Le symbole de pourcentage (%) doit-il toujours être échappé au format HTML?

Je sais que le symbole de pourcentage doit être encodé en URL lors de la transmission, mais lorsque je l'affiche dans le navigateur, est-il également nécessaire de l'échapper comme suit: %?

27
Jensen Ching

Dans les URL, le signe de pourcentage (%) a la signification spéciale , il doit donc être échappé. En HTML, ce n'est pas le cas, il n'est donc pas nécessaire d'y échapper.

30
Jon Newmuis

J'aimerais ajouter ceci - si vous utilisez javascript en href, vous êtes aussi en difficulté. Vérifiez cet exemple:

http://jsfiddle.net/cs4MZ/

L’une des solutions de contournement consiste peut-être à utiliser onclick au lieu de href.

1
stej

Je d'accord avec la réponse choisie, mais je voudrais qualifier la déclaration «il n'est pas nécessaire de lui échapper.»

_ {Si vous avez un besoin (ou le désir) d'échapper à un signe de pourcentage dans le code HTML (et il y a bon raisons de le faire avec tout caractère potentiellement ambigu ou symbole), alors je fortement recommande d'utiliser le code d'entité en pourcentage % au lieu d'un code numérique. (ceux que j’utilise quand il n’ya pas d’entité nommée que vous pourriez utiliser)

C'était la réponse que je cherchais quand j'ai trouvé cette page, car j'ai oublié qu'elle perd le "e" final.

Nous devrions probablement tous utiliser au moins les entités aimablement listées ici . (quel que soit le Webmasterish; merci)

Reasoning: Les codes numériques (et en particulier les codes d'octet issus de caractères non codés) changent avec les pages de codes, sur les systèmes utilisant différentes langues par défaut et/ou différents systèmes d'exploitation. (Windows et Mac utilisent des ensembles de codes légèrement différents pour «Anglais», le classique, qui toujours jette un message en texte brut envoyé entre Apple Mail et Outlook) Cela ralentit et devrait arrêtez-vous avec UTF, mais je suis encore le voir apparaître.

Si vous convertissez du HTML en une autre balise (remarque, j’ai utilisé "&ndash;" et non pas "-", ni même "&minus;" pour la raison identique telle que LaTeX, DVI, PostScript ou même MarkDown, alors il est utile de complètement supprimer toute ambiguïté… Et ces processus ont tendance à se produire sur les informations que vous (minimum»_ _ vous attendez à être utilisées de la sorte lorsque vous les écrivez pour la première fois. Alors, habituez-vous à le faire {partout} _ et soyez reconnaissant à votre ancien moi d'avoir eu la clairvoyance de le faire. Probablement années en fin de ligne, lorsque vous cherchez à mettre à jour les formules pour qu'elles soient plus lisibles à l'aide de MathJax ou d'un logiciel similaire, et que vous continuiez à utiliser des mots composés. <jurons>

1
bobsobol

Si vous parlez de texte HTML visible par le lecteur, non. Il ne peut rien faire de mal, là-bas.

... Si vous parlez de l'intérieur des attributs HTML, alors oui, il serait bon d'envisager.

Les URL et HTML sont des langages différents, aussi étrange que cela puisse paraître, ils ont donc des faiblesses différentes.

0
Norguard