Specialtegn i HTML, XML og JavaScript

  1. Om tegnkoder
  2. Angivelse af tegnsæt
  3. Tabel over tegnkoder for specialtegn
  4. Tabel over blanktegn (mellemrum, linjeskift o.l.)
  5. Dokumentation (links)

Tegnkoder
Tegnkoder ("character references") kan være i form af HTML-værdier ("HTML entities") eller nummereiske værdier (talkoder). HTML-værdierne er sproglige navne for tegnene. F.eks. hedder dansk Æ "AElig" fordi det er en ligatur (tegn sammensat af flere bogstaver) bestående af A og E. Andre entities har navn efter det diakritiske tegn (prik, streg eller andet) der er brugt sammen med bogstavet, f.eks. det danske bolle-å der hedder "aring".

HTML-værdier starter med tegnet & (e-t ligatur for det latinske "et", dvs. "og" på dansk) og slutter med ; (semikolon). HTML tillader et stort antal HTML-værdier. XML tillader kun fem: &amp; for tegnet &, &lt; for <, &gt; for >, &apos; for ' og &quot; for ".

De nummeriske værdier starter med tegnene &# og slutter med ;. Selve talværdien kan angives enten i decimal- (10-talsystem), oktal- (8-talsystem) eller hexadecimaltal (16-talsystem) alt efter hvilket kodesprog der anvendes – se nærmere i skemaet nedenfor. Unicodeværdierne er hexadecimale.

I (X)HTML og i JavaScript-genereret HTML (f.eks. med document.write eller innerHTML) bruges HTML-, decimal- eller hexadecimalværdierne. I JavaScript tekst (f.eks. ved alert() eller confirm() bokse) bruges kun oktal- eller Unicodeværdierne, dog kan oktalværdierne højst bruges til og med oktal \377. Derover bruges kun Unicodeværdier.

Vær opmærksom på at at Unicodeværdierne skrives forskelligt alt efter om det er i HTML (og XML) eller JavaScript. I JavaScript skrives dansk "Æ" som \u00C6 ("u" for Unicode), i HTML/XML skrives det &#xC6; ("x" for hexadecimal). Tilsvarende for de øvrige værdier. [top]

Tegnsæt
HTML- og XML-/XHTML-dokumenter skal indeholde en angivelse af hvilket tegnkodning ("character encoding") der skal anvendes af browseren ved visning af teksten. For dansk (der indeholder specialtegnene Æ, Ø, Å, æ, ø, å) og flere andre vesteuropæiske sprog bliver tegnsættet iso-8859-1 ofte anvendt. Med denne tegnkodning kan man bruge de danske specialtegn direkte i sit HTML-dokument og behøver ikke at skrive dem med tegnkode.

Har man brug for tegn fra de udvidede Unicode tegnsæt (f.esk. "Latin Extended-A" og "-B", "Latin Extended Addtional" eller ikke-vestlige skriftsystemer), anvendes i stedet tegnsættet utf-8. Men bruger man dette tegnsæt, skal kode-dokumentet også gemmes i utf-8 format, hvilket f.eks. er muligt i Microsofts enkle tekst-editor "Notepad".

I HTML og XHTML angives tegnsættet som værdien af "charset" i dokumentets meta-tags, f.eks. således for HTML:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

I XML er utf-8 default encoding, så strengt taget behøver man ikke angive denne. Men vil man gøre det for fuldstændighedens skyld, gøres det som værdien af "encoding" i XML-prologen:

<?xml version="1.0" encoding="utf-8"?> eller på samme plads ved andre valg af encoding.

Husk også her at gemme dokumentet i utf-8 format hvis denne encoding er angivet.

Et XHTML-dokument er egentlig et XML-dokument til visning i en browser. XML-prologen er ikke påkrævet her, men anvendes den, skal man huske at der skal være overensstemmelse mellem "encoding" i prologen og "charset" i meta-tag'et.

Tegnkoderne beskrevet oven for er uafhængige af disse charset-angivelser, dvs. de tegn som tegnkoderne henviser til, vises under alle omstægheder, uanset hvilket charset der er angivet.

Indholdet af tabellen nedenfor er tilpasset mine egne behov, men det er nemt at finde tilsvarende koder for andre behov ved hjælp af dette JavaScript Unicode Code Charts. [top]

Bemærk at i Internet Explorer kan visse af disse tegn kun gengives hvis fonten "Arial Unicode MS", "Tahoma" eller "Microsoft Sans Serif" er installeret på computeren. Dette kan gøres fra Microsoft Office pakken.

Tabel 1 – Tegnkoder for specialtegn
Tegn HTML-værdi Decimalværdi Oktalværdi Unicode-værdi
" &quot; &#34; \042 \u0022
& &amp; &#38; \046 \u0026
' &apos; note &#39; \047 \u0027
< &lt; &#60; \074 \u003C
> &gt; &#62; \076 \u003E
  &nbsp; &#160; \240 \u00A0
£ &pound; &#163; \243 \u00A3
§ &sect; &#167; \247 \u00A7
© &copy; &#169; \251 \u00A9
® &reg; &#174; \256 \u00AE
¼ &frac14; &#188; \274 \u00BC
½ &frac12; &#189; \275 \u00BD
¾ &frac34; &#190; \276 \u00BE
À &Agrave; &#192; \300 \u00C0
Á &Aacute; &#193; \301 \u00C1
 &Acirc; &#194; \302 \u00C2
à &tilde; &#195; \303 \u00C3
Ä &Auml; &#196; \304 \u00C4
Å &Aring; &#197; \305 \u00C5
Æ &AElig; &#198; \306 \u00C6
Ç &Ccedil; &#199; \307 \u00C7
È &Egrave; &#200; \310 \u00C8
É &Eacute; &#201; \311 \u00C9
Ê &Ecirc; &#202; \312 \u00CA
Ë &Euml; &#203; \313 \u00CB
Ì &Igrave; &#204; \314 \u00CC
Í &Iacute; &#205; \315 \u00CD
Î &Icirc; &#206; \316 \u00CE
Ï &Iuml; &#207; \317 \u00CF
Ð &ETH; &#208; \320 \u00D0
Ñ &Ntilde; &#209; \321 \u00D1
Ò &Ograve; &#210; \322 \u00D2
Ó &Oacute; &#211; \323 \u00D3
Ô &Ocirc; &#212; \324 \u00D4
Õ &Otilde; &#213; \325 \u00D5
Ö &Ouml; &#214; \326 \u00D6
Ø &Oslash; &#216; \330 \u00D8
Ù &Ugrave; &#217; \331 \u00D9
Ú &Uacute; &#218; \332 \u00DA
Û &Ucirc; &#219; \333 \u00DB
Ü &Uuml; &#220; \334 \u00DC
Ý &Yacute; &#221; \335 \u00DD
Þ &THORN; &#222; \336 \u00DE
ß &szlig; &#223; \337 \u00DF
à &agrave; &#224; \340 \u00E0
á &aacute; &#225; \341 \u00E1
â &acirc; &#226; \342 \u00E2
ã &atilde; &#227; \343 \u00E3
ä &auml; &#228; \344 \u00E4
å &aring; &#229; \345 \u00E5
æ &aelig; &#230; \346 \u00E6
ç &ccedil; &#231; \347 \u00E7
è &egrave; &#232; \350 \u00E8
é &eacute; &#233; \351 \u00E9
ê &ecirc; &#234; \352 \u00EA
ë &euml; &#235; \353 \u00EB
ì &igrave; &#236; \354 \u00EC
í &iacute; &#237; \355 \u00ED
î &icirc; &#238; \356 \u00EE
ï &iuml; &#239; \357 \u00EF
ð &eth; &#240; \360 \u00F0
ñ &ntilde; &#241; \361 \u00F1
ò &ograve; &#242; \362 \u00F2
ó &oacute; &#243; \363 \u00F3
ô &ocirc; &#244; \364 \u00F4
õ &otilde; &#245; \365 \u00F5
ö &ouml; &#246; \366 \u00F6
ø &oslash; &#248; \370 \u00F8
ù &ugrave; &#249; \371 \u00F9
ú &uacute; &#250; \372 \u00FA
û &ucirc; &#251; \373 \u00FB
ü &uuml; &#252; \374 \u00FC
ý &yacute; &#253; \375 \u00FD
þ &thorn; &#254; \376 \u00FE
ÿ &yuml; &#255; \377 \u00FF
Ā   &#256; \400 \u0100
ā   &#257; \401 \u0101
Č   &#268; \414 \u010C
č   &#269; \415 \u010D
Ě   &#282; \432 \u011A
ě   &#283; \433 \u011B
Ğ   &#286; \436 \u011E
ğ   &#287; \437 \u011F
Ī   &#298; \452 \u012A
ī   &#299; \453 \u012B
Ō   &#332; \514 \u014C
ō   &#333; \515 \u014D
Π&OElig; &#338; \522 \u0152
œ &oelig; &#339; \523 \u0153
Ś   &#346; \532 \u015A
ś   &#347; \533 \u015B
Š &Scaron; &#352; \540 \u0160
š &scaron; &#353; \541 \u0161
Ū   &#362; \552 \u016A
ū   &#363; \553 \u016B
Ž   &#381; \575 \u017D
ž   &#382; \576 \u017E
Ǎ   &#461; \715 \u01CD
ǎ   &#462; \716 \u01CE
Ǐ   &#463; \717 \u01CF
ǐ   &#464; \720 \u01D0
Ǒ   &#465; \721 \u01D1
ǒ   &#466; \722 \u01D2
Ǔ   &#467; \723 \u01D3
ǔ   &#468; \724 \u01D4
Ǖ   &#469; \725 \u01D5
ǖ   &#470; \726 \u01D6
Ǘ   &#471; \727 \u01D7
ǘ   &#472; \730 \u01D8
Ǚ   &#473; \731 \u01D9
ǚ   &#474; \732 \u01DA
Ǜ   &#475; \733 \u01DB
ǜ   &#476; \734 \u01DC
^ &circ; &#710; \1306 \u02C6
  &#7692; \17014 \u1E0C
  &#7693; \17015 \u1E0D
  &#7716; \17044 \u1E24
  &#7717; \17045 \u1E25
  &#7734; \17066 \u1E36
  &#7735; \17067 \u1E37
  &#7736; \17070 \u1E38
  &#7737; \17071 \u1E39
  &#7746; \17102 \u1E42
  &#7747; \17103 \u1E43
  &#7748; \17104 \u1E44
  &#7749; \17105 \u1E45
  &#7750; \17106 \u1E46
  &#7751; \17107 \u1E47
  &#7770; \17132 \u1E5A
  &#7771; \17133 \u1E5B
  &#7772; \17134 \u1E5C
  &#7773; \17135 \u1E5D
  &#7778; \17142 \u1E62
  &#7779; \17143 \u1E63
  &#7788; \17154 \u1E6C
  &#7789; \17155 \u1E6D
&ndash; &#8211; \20023 \u2013
&mdash; &#8212; \20024 \u2014
&lsquo; &#8216; \20030 \u2018
&rsquo; &#8217; \20031 \u2019
&ldquo; &#8220; \20034 \u201C
&rdquo; &#8221; \20035 \u201D
&bull; &#8226; \20042 \u2022
&hellip; &#8230; \20046 \u2026
&euro; &#8364; \20254 \u20AC
&larr; &#8592; \20042 \u2190
&uarr; &#8593; \20042 \u2191
&rarr; &#8594; \20042 \u2192
&darr; &#8595; \20042 \u2193
[top]

Blanktegn
Af disse fire tegn er det kun mellemrum ("space") der giver noget output i en browser, nemlig som adskillelse mellem ord i teksten. De øvrige tegn ignoreres. Bemærk at mellemrummet der er gengivet i tabellen ovenfor med HTML-værdien &nbsp;, ikke er et blanktegn da det ikke bryder linjen.

"Linefeed"/"newline" og/eller "carriage-return" er de tegn der sættes ind i kode-dokumentet ved tryk på retur-tasten ("hårdt linjeskift"), men de vises ikke i browseren. For at vise linjeskift i browseren bruges jo <br> eller <br />. Der skelnes mellem newline og carriage-return fordi disse tegn egentlig repræsenterer taste- og håndtagsbevægelser på en gammeldags skrivemaskine. Newline markerer blot det at skrivepunktet føres en linje ned (svarende til at valsen drejes nogle hak på skrivemaskinen ved hjælp af linefeed-håndtaget). Carriage-return markerer at skrivepunktet desuden føres retur til starten af linjen (svarende til et tryk på skrivemaskinens Retur-tast). I et computer-konsolvindue hvor en ny linje som default begynder yderst til venstre, er carriage-return egentlig overflødigt. Derfor er det heller ikke alle text-editors der indsætter carriage-return ved hårdt linjeskift. Unix programmer indsætter kun \n. Microsoft programmer (Notepad f.eks.) indsætter begge tegn i rækkefølgen \r\n.

I JavaScript tekststrenge kan linjeskift angives med enten RegEx- oktal- eller eller Unicode-værdier.

Tabel 2 – Blanktegn
Blanktegn Funktion Decimalværdi RegEx-værdi Oktalværdi Unicode-værdi
lf/nl "linefeed"/"newline" &#10; \n \012 \u000A
tab/ht "horizontal tab" &#11; \t \013 \u000B
cr "carriage-return" &#13; \r \015 \u000D
  "space" &#32;   \040 \u0020
[top]