Signokodoj

Kiel skribi signojn en HTML

La chi-postaj klarigoj antausupozas bazajn sciojn pri HTML.

Rekta skribo lau la aktuala kodo/kodprezento

Kiam oni verkas HTML-paghon, oni povas simple kaj rekte (normale per unuopaj bitokoj) skribi chiujn signojn, kiuj enestas en tiu signokodo, kiun oni elektis. Por ke la legiloj sciu, kiun signokodon oni uzis, normale la servilo sendu kashan informon pri tio en t.n. http-chapo antau ol la efektiva pagho estas liverata (pri tio legu ankau en miaj klarigoj pri Esperantaj literoj en TTT).

Se oni ne povas agordi sian servilon, ke ghi sendu tian informon, oni povas anstataue en la chapo de la HTML-pagho (la parto inter <head> kaj </head>) aldoni meta-elementon, kiu informas pri la uzata signokodo kaj kodprezento, ekz.:

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

Tiu linio montras, ke Latino 1 (iso-8859-1) estas uzata.

Simile:

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

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

   <meta http-equiv="Content-Type" content="text/html; charset=koi8-r" />

Kiam oni uzas Unikodon, la kodprezento UTF-8 estas la plej bona elekto:

   <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

Se oni uzas XHTML-on, oni ankau metu tian informon en t.n. XML-deklaron (krom se la signokodo estas UTF-8 au UTF-16 - tiam XML-deklaro estas libervola). Tian XML-deklaron oni metu plej unue en la XHTML-pagho. Ekz.:

   <?xml version="1.0" encoding="iso-8859-1"?>

   <?xml version="1.0" encoding="iso-8859-3"?>

   <?xml version="1.0" encoding="utf-8"?>
   (libervola deklaro, char UTF-8 estas uzata)

Pri XHTML kaj XML-deklaroj vidu detalojn en miaj paghoj pri XHTML.

Simbolaj kaj numeraj indikoj de signoj

La baza signokodo de HTML 4 kaj de XHTML 1.0 estas Unikodo (antaue estis Latino 1). Sendepende de la uzata kodo kaj kodprezento oni chiam povas enmeti chiun ajn Unikodan signon per ghia HTML-nomo au per numera referenco. Ech se oni uzas ekz. la kodon Latino 2, oni povas uzi signojn el ekz. Latino 1, kiuj mankas en Latino 2, se oni skribas ilin nome au numere. Same oni povas enmiksi ekz. Rusajn literojn en Latino-3-an paghon, Grekajn signojn en paghon Latino-4-an, k.t.p. Jen kelkaj ekzemploj:

  • &#234; / &#xEA; / &#xea; / &ecirc; = “ê”.
  • &#321; / &#x141; = “Ł”.
  • &#261; / &#x105; = “ą”.

Estu &# antau dekuma numero, kaj &#x antau deksesuma numero (kaj chiam ; poste). Dekumaj kodoj estas pli fidinde uzeblaj. La deksesumaj ofte tute ne funkcias. En multaj tabeloj de signoj oni tamen donas nur deksesumajn numerojn. (Rimarku, ke se oni uzas XHTML-on, nepre estu minuskla “x” en &#x.)

Estu & antau HTML-nomo, kaj ; poste.

Kompreneble estas plej oportune skribi chiujn signojn rekte. Tiam necesas uzi signokodon, kiu enhavas la bezonatajn signojn, kaj tekstoredaktilon, kiu regas tiun signokodon. Sed numeraj referencoj kaj HTML-nomoj ofte povas esti konvenaj, se oni ne scias, kiel tajpi iun signon. Por malofte bezonataj signoj tia solvo povas ofte esti oportuna.

Kelkaj konsiloj

Se oni uzas nur signojn el Askio, kaj indikas chiujn aliajn signojn per numeraj referencoj au simbolaj HTML-nomoj, tiam oni ne bezonas anonci la uzatan signokodon, char Askio estas subaro de chiuj normalaj signokodoj. Tio estas do la plej sekura maniero skribi HTML-paghojn. Bedaurinde iuj malnovegaj TTT-legiloj estas fushe faritaj, kaj foje tamen reagas malghuste al tia tute launorma HTML. Ekz. por plachi al la eraroplena TTT-legilo Netscape Navigator 4 (nun praktike tute formortinta) oni bezonis enmeti indikon pri UTF-8 (au UTF-7) en paghon, kiu uzas Unikodajn signojn super 255, ech se oni tute ne uzas UTF-8-on (nek UTF-7-on). Alie la legantoj devis mem enshalti Unikodan montradon. (Rimarku, ke UTF-7 estas tre malrekomendinda. En UTF-7-a pagho oni ne povas uzi chiujn ajn Askiajn signojn - iujn oni devas speciale kodi, kaj tio povas doni problemojn. Uzu UTF-8-on.)

Kiam temas pri tiaj chi tiklaj aferoj (kaj ankau aliokaze), oni ne povas fidi je la konduto de nur unu TTT-legilo (tiu, kiun oni mem hazarde uzas...). Ne estas certe, ke chio estas en ordo, nur char la paghoj aperas ghuste, kiam oni rigardas ilin per TTT-legilo. Necesas lerni kaj sekvi la oficialajn normojn. Nur tiel oni povas (almenau iom) fidi, ke la HTML-paghoj, kiujn oni verkas, aperos ghuste en chiuj diversaj TTT-legiloj (kaj en konataj legiloj, kaj en tute ne konataj, kaj en jam aperintaj legiloj, kaj en iam aperontaj).

Iuj HTML-redaktiloj mem shanghas chiujn bitokojn super 127 en simbolajn HTML-nomojn. Se vi verkas paghon, kiu ne uzas Latinon 1, vi atentu, ke la HTML-redaktilo vere komprenas la uzatan signokodon. Multaj tiaj programoj chiam supozas, ke Latino 1 estas uzata, kaj povas tute fushi la kodon. Se vi intencas uzi Latinon 3, kaj enskribas ekz. la Esperantan literon “c” kun cirkumflekso, povas esti, ke la HTML-redaktilo kashe shanghas ghin en la HTML-kodajhon &aelig;, kiu kompreneble indikas tute alian literon (ae-ligajhon). Tio okazas, char “c” kun cirkumflekso hazarde havas la saman kodpozicion (en Latino 3) kiel ae-ligajho (en Latino 1). Ghustaj kaj launormaj TTT-legiloj chiam montras &aelig; kiel ae-ligajhon. Nur fushaj legiloj (kaj TTT-legiloj, al kiuj oni trudis falsajn tiparojn) povas montri ghin kiel alian signon. Kontrolu do, ke via HTML-kodo vere enhavas tion, kion vi volas, ke ghi enhavu.

Memoru, ke simbolaj HTML-nomoj (ekz. &ecirc;), kaj numeraj HTML-kodoj (ekz. &#234; au &#xEA;) chiam referencas al signoj en Latino 1 au Unikodo. Neniel eblas uzi tiajn kodojn por referenci al signo en alia signokodo (ekz. Latino 3 au Latino 2), se la signo ne estas sama kiel en Latino 1. Se tia erara indiko iafoje shajnas doni la celitan rezulton, tio nur signifas, ke la TTT-legilo estas rompita, au ke iu instalis tiparon kun falsaj signobildoj.

Novaj HTML-nomoj

Che multaj signoj mi indikis en la chi-tieaj tabeloj simbolan HTML-nomon. Por signoj en Latino 1, tiaj HTML-nomoj funkcias praktike chiam. Aliaj tiaj nomoj estas pli nove enkondukitaj (ekde HTML 4). Tiuj novaj HTML-nomoj funkcias en chiuj bonaj modernaj TTT-legiloj, sed en kelkaj malnovaj legiloj, ankorau uzataj de ne ignorebla nombro de legantoj, ili bedaurinde ne funkcias. Tial, por referenci al signoj, kiuj ne aperas en Latino 1, oni uzu prefere la Unikodajn signonumerojn.

Jen kompleta kolekto de tiaj novaj simbolaj nomoj:

simbola kodo numera kodo signobildo (lau via TTT-legilo)
&OElig; &#338; Œ
&oelig; &#339; œ
&Scaron; &#352; Š
&scaron; &#353; š
&Yuml; &#376; Ÿ
&fnof; &#402; ƒ
&circ; &#710; ˆ
&tilde; &#732; ˜
&Alpha; &#913; Α
&Beta; &#914; Β
&Gamma; &#915; Γ
&Delta; &#916; Δ
&Epsilon; &#917; Ε
&Zeta; &#918; Ζ
&Eta; &#919; Η
&Theta; &#920; Θ
&Iota; &#921; Ι
&Kappa; &#922; Κ
&Lambda; &#923; Λ
&Mu; &#924; Μ
&Nu; &#925; Ν
&Xi; &#926; Ξ
&Omicron; &#927; Ο
&Pi; &#928; Π
&Rho; &#929; Ρ
&Sigma; &#931; Σ
&Tau; &#932; Τ
&Upsilon; &#933; Υ
&Phi; &#934; Φ
&Chi; &#935; Χ
&Psi; &#936; Ψ
&Omega; &#937; Ω
&alpha; &#945; α
&beta; &#946; β
&gamma; &#947; γ
&delta; &#948; δ
&epsilon; &#949; ε
&zeta; &#950; ζ
&eta; &#951; η
&theta; &#952; θ
&iota; &#953; ι
&kappa; &#954; κ
&lambda; &#955; λ
&mu; &#956; μ
&nu; &#957; ν
&xi; &#958; ξ
&omicron; &#959; ο
&pi; &#960; π
&rho; &#961; ρ
&sigmaf; &#962; ς
&sigma; &#963; σ
&tau; &#964; τ
&upsilon; &#965; υ
&phi; &#966; φ
&chi; &#967; χ
&psi; &#968; ψ
&omega; &#969; ω
&thetasym; &#977; ϑ
&upsih; &#978; ϒ
&piv; &#982; ϖ
&bull; &#8226;
&hellip; &#8230;
&prime; &#8242;
&Prime; &#8243;
&oline; &#8254;
&frasl; &#8260;
&weierp; &#8472;
&image; &#8465;
&real; &#8476;
&trade; &#8482;
&alefsym; &#8501;
&larr; &#8592;
&uarr; &#8593;
&rarr; &#8594;
&darr; &#8595;
&harr; &#8596;
&crarr; &#8629;
&lArr; &#8656;
&uArr; &#8657;
&rArr; &#8658;
&dArr; &#8659;
&hArr; &#8660;
&forall; &#8704;
&part; &#8706;
&exist; &#8707;
&empty; &#8709;
&nabla; &#8711;
&isin; &#8712;
&notin; &#8713;
&ni; &#8715;
&prod; &#8719;
&sum; &#8721;
&minus; &#8722;
&lowast; &#8727;
&radic; &#8730;
&prop; &#8733;
&infin; &#8734;
&ang; &#8736;
&and; &#8743;
&or; &#8744;
&cap; &#8745;
&cup; &#8746;
&int; &#8747;
&there4; &#8756;
&sim; &#8764;
&cong; &#8773;
&asymp; &#8776;
&ne; &#8800;
&equiv; &#8801;
&le; &#8804;
&ge; &#8805;
&sub; &#8834;
&sup; &#8835;
&nsub; &#8836;
&sube; &#8838;
&supe; &#8839;
&oplus; &#8853;
&otimes; &#8855;
&perp; &#8869;
&sdot; &#8901;
&lceil; &#8968;
&rceil; &#8969;
&lfloor; &#8970;
&rfloor; &#8971;
&lang; &#9001;
&rang; &#9002;
&loz; &#9674;
&spades; &#9824;
&clubs; &#9827;
&hearts; &#9829;
&diams; &#9830;
&ensp; &#8194; (sen aspekto)
&emsp; &#8195; (sen aspekto)
&thinsp; &#8201; (sen aspekto)
&zwnj; &#8204; (sen aspekto)
&zwj; &#8205; (sen aspekto)
&lrm; &#8206; (sen aspekto)
&rlm; &#8207; (sen aspekto)
&ndash; &#8211;
&mdash; &#8212;
&lsquo; &#8216;
&rsquo; &#8217;
&sbquo; &#8218;
&ldquo; &#8220;
&rdquo; &#8221;
&bdquo; &#8222;
&dagger; &#8224;
&Dagger; &#8225;
&permil; &#8240;
&lsaquo; &#8249;
&rsaquo; &#8250;
&euro; &#8364;