Nahlédněte i do Diskuse pod čarou!

Proč právě ISO-8859-2?

Zde je několik důvodů, proč se mi ISO-8859-2 jeví jako ideální standard pro kódování češtiny na Internetu (než se dočkáme funkčního Unicode):
  1. ISO-8859-2 pro kódování českých písmen plně postačuje.
  2. Naprostá většina novějších programů s ISO-8859-2 už nemá žádné problémy, počítaje v to i produkty jindy agresivní firmy Microsoft. Např. i FrontPage vám práci s ISO-8859-2 ulehčí.
  3. Definice tohoto kódování se objevila přímo v definici MIME v RFC 1521, ostatní kódování byla registrována až dodatečně.
  4. I nová definice MIME v RFC 2049 charakterizuje minimálního klienta, který splňuje normu MIME, takto:
    ...
       A mail user agent that is MIME-conformant MUST:
    ...
        (6)   Explicitly handle the following media type values, to
              at least the following extents:
    
              Text:
    
                -- Recognize and display "text" mail with the
                character set "US-ASCII."
    
                -- Recognize other character sets at least to the
                extent of being able to inform the user about what
                character set the message uses.
    
                -- Recognize the "ISO-8859-*" character sets to the
                extent of being able to display those characters that
                are common to ISO-8859-* and US-ASCII, namely all
                characters represented by octet values 1-127.
    ...
    Z posledního citovaného bodu vyplývá, že i ten nejhloupější klient musí umět zobrazit příchozí ISO-8859-2 alespoň částečně, mnohdy je navíc vybaven tabulkami pro aproximaci národních znaků do sedmibitové ASCII. Schopnost číst (alespoň částečně) jakákoli jiná kódování zde vyžadována není. Skutečnost, že je klient připraven na kódování ISO je tedy mnohem pravědpodobnější, než pro případy znakových sad jednotlivých platforem osobních počítačů.
  5. I ostatní země, jejichž jazyk je slučitelný s kódování ISO-8859-2, k této normě konvergují. Jedná se především o Polsko, Slovinsko a Slovensko.
  6. ISO-8859-2 používají velké unixové servery (přes ně prochází elektronická pošta i další informační kanály Internetu, mnohdy se uživatelé na tyto servery připojují telnetem přímo).
  7. Správa státního informačního systému ČR ISO-8859-2 upřednostňuje před kódováním windows-1250.
  8. V případě, že se již teď podaří sjednotit se na jedné normě, bude v budoucnu přechod na Unicode pro všechny výrazně snazší.
  9. ISO-8859-2 nevzniklo jako diktát jedné platformy ostatním, jde o kódování zavedené dohodou - mějte ohled na to, že ostatní nemusí používat stejnou platformu jako je ta vaše.
Cílem těchto stránek je podporovat tento standard především formou dílčích rad, jak vaše programy přesvědčit, aby znakovou sadu ISO-8859-2 podporovaly, v případě, že tak nečiní dosud. V sekci Počešťování na hlavní stránce snad příslušné rady najdete.

Pokud máte zájem pustit se do polemiky na téma "základní kódování češtiny pro celý Internet", můžete využít místní Diskuse pod čarou nebo elektronické konference o národním prostředí v Internetu. Na všechny názory se těšíme.


O tom, jak je otázka znakové sady používané pro české texty v Internetu ožehavým tématem, svědčí i mnohé plamenné debaty např. z diskuse CSINFO-L. Jedna z reakcí velmi pěkně vystihla i postoj, který se snažím prezentovat na těchto stránkách, dovolil jsem si ji proto ocitovat:
Matousek Petr wrote:
> > Stejne tak argument - "ceho je vic" slysim pouzivat hlavne zastance
> > M$. Musim rict, ze je mi naprosto ukradene ceho je vic - spis me
> > zajima, co je lepsi (pouzitelnejsi, ucelnejsi, atp. - dosad co chces).
>
> Co je pouzitelnejsi - 8859-2, ktery umi 3 % pocitacu, nebo 1250, ktery umi
> 92% (zbytek je Amiga a MAC)...


Myslim, ze to jiz bylo receno v minulych dopisech, ale zda se, ze
nektere predstavy jsou v lidech hluboce zakorenene.

Otazka co je pouzitelnejsi je naprosto jednoznazna:
         Pouzitelnejsi je ISO Latin 8859-2

Proc ?

1, Duvody preference v MIME. CP1250 je registrovano, ale
        neni doporuceno ani preferovano. Jedna se tedy o volitelne
        kodovani, ktere klient muze, ale nemusi podporovat.
        Jak napsal Jan "Yenya" Kasprzak: "Jak zde jiz bylo
        nekolikrat receno, ne kazde obskurni kodovani,
        ktere si nekdo zaregistruje u IANA, je kazdy povinen
        implementovat."
2, Duvody rozsiritelnosti. Argument o 3% je dost zvadejici.
        nevim zceho vychazi, ale rek bych, ze ze stejnych statistik
        jako ty co srovnavaji pocet instalci NT a Unixu ( Mimochodem
        samotny Linux ma pravdepodobne vyssi pocet instalci ) a pomiji
        to, ze na jednom U*ix serveru casto pracuje nekolik lidi
        ne-li desitek ( a nemyslim jen a hlavne file server sluzby )
        Co je, ale hlavni, ze nejrozsirenejsi prohlizece NN i MSIE
        podporuji ISO Latin 2 na vsech platformach tj. Windows i Mac.
        To ovsem znamena, ze podpora ISO Latin 2 je naopak jeste
        vetsi nez CP1250 ( zname  take pod registrovanym nazvem
        Windows-1250 aby to nebylo tak jednoduche)


Co z toho plyne ?

        Pokud jsou vase WWW stranky urceny vsem a jsou pouze v jednom
        kodovani - melo by to byt ISO Latin 2, ktere je
        ( pro jistotu jeste jednou):
                a, preferovano MIME
                b, umi ho vic klientu

        Pokud jsou ovsem vase stranky vytvoreny v nejakem volitelnem kodovani
( bez moznosti prekodovani ) jiste predpokladate, ze je bude navstevovat
pouze urcita timto definovana skupina uzivatelu a jinymi slovy
rikate, ze o jine nemate zajem. Chtel bych videt firmu, ktera nema
zajem o zakazniky a jeste si je vybira podle toho jake pouzivaji
kodovani !

        Samozrejme, ze to neni tak ruzove jak by se zdalo. Tvurci
WWW stranek v prostredi si mohou stezovat jak asi maji psat
v ISO Latin 2, ale moznosti tu jsou: Napr Microsoft FontPage
umoznuje ukladat stranky i v ISO Latin 2 nebo muzou pouzit externi
programy pro prevadeni. Tj. reseni existuje i pro ne.
        Problem je pouze s databazovymi aplikacemi na platforme
Windows. Asi tezko donutite MS SQL server, aby tridil data
v ISO Latin 2 ( nebo starsi verze MySQL free SQL serveru pro
Unix od TCX viz. http://www.tcx.se )

  ALE (!), kazdy by asi mel vedet k cemu dany produkt ( jakykoliv )
lze pouzit, k cemu jiz mene a k cemu ne. Standardy mluvi naprosto
jasne a je jedno zda je to produkt pro Windows, OS/2, Unix,
etc. napsany Microsoftem, IBM, Netscape,Sunem nebo jakoukoliv
jinou firmou.


Standardy tu nejsou od toho jak si D.D. mozna mysli, ze
by se v nich chteli realizovat nejaci cituji: "idioti",
kteri snad pouzivaji nejaky Unix ( osobne ho pouzivam proto
, ze mi nejvice vyhovuje, nejvice splnuje me pozdavky na vykon,
schopnosti, cenove naklady i nezavislost na pripadne jakekoliv
firme, ale to jsou me osobni "potreby" a pokud ma nekdo jine
proc ne), ale pro to, aby si pocitace navzajem rozumeli
a umoznili tem kdo s nimi pracuji je pouzivat bez toho, aby
museli zakoupit konkretni produkt firmy XXX za YYY $, ale
ten ktery si zvoli a bude jim vyhovovat a pritom mohou byt jisti, ze
slovo WWW bude znamenat vsude to same stejne jako TCP/IP,FTP
atd. I o tom jsou standardy.

S pozdravem
   Petr Snajdr

Pro ty, kteří už vědí, na kterou stranu se přiklonit, je zde ještě jedna zajímavá zákulisní informace. Nerozhodní nechť ji raději nečtou, nebo pro "nevhodnou formu" a "nepodložené argumenty" přehlédnou, že tato stránka je jinak plna argumentů podloženějších.

A teď už ta slíbená historka, jak vzniklo kódování Windows-1250. Osobně jsem přesvědčen o její pravdivosti:

To bylo totiž tak.. Microsoft potřeboval udělat do Windows 3.0 podporu pro východoevropské jazyky používající latinku, a tak nechali SWS (Software Slušovice), aby jí vyvinul. SWS vytvořil podporu používající kódování na bázi ISO-8859-2, s tím, že v místech řídících znaků (128-159), které ve Windows nejsou potřebné, byly semigrafické symboly. Tuto podporu odeslal Microsoftu. Jaké však bylo překvapení lidí v SWS když zjistili, že v nových Windows 3.1 byly některé znaky (např. ž,š,ť) přesunuty do řídící oblasti z jejich původních pozic v kódování ISO-8859-2. Tak vznikla kódová stránka CP-1250. Důvodem, který pravděpodobně vedl Microsoft k tomuto kroku byl konkurenční boj vůči Unixu -- záměrně vytvořili nekompatibilitu se kterou se my dnes musíme potýkat.. Kódování západoevropských Windows (CP1252) se od ISO-8859-1 téměř neliší, protože vzniklo podobným způsobem z ISO-8859-1, ovšem bez onoho prohazovacího podrazu, neboť v Západní Evropě byl Unix etablovaný a něco takového si Microsoft nemohl dovolit..
[Počitadlo] od 14.9.1997