Starší komentáře ke článku: XHTML - kódování dokumentu

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Marek Prokop

Datum vložení: 11.9.2002 1:10:55

Omlouvám se, nechci rozpoutávat nějaké vášně, ale kdykoli zahlédnu tvrzení, že Windows 1250 není pro kódování (X)HTML dokumentů standardní, nedá mi to abych se nezeptal, na čem je toto tvrzení založeno. Sám jsem na to nikdy nepřišel a nikdo mi na tuto otázku ještě rozumně neodpověděl.

Avatar

Autor komentáře: Zděnek

Datum vložení: 11.9.2002 6:15:00

No, asi by to mohlo být tím, že existují i jiné op. systémy než windows :))

Avatar

Autor komentáře: miroslav.kucera

Datum vložení: 11.9.2002 8:14:09

A vy chcete rici, ze ostatni OS nepodporuji kodovani Windows? :)

Avatar

Autor komentáře: Marek Prokop

Datum vložení: 11.9.2002 10:01:38

A jak to s tím souvisí? Čtyři hlavní rodiny operačních systémů používají čtyři různá kódovaní.

Abych ještě upřesnil otázku: nejde mi o nějaké spekulace, smysl má jen odkaz na konkrétní závazný dokument (normu), ze kterého to jednoznačně vyplývá.

Avatar

Autor komentáře: Jirka Lahvička

Datum vložení: 11.9.2002 10:27:47

Také si myslím, že Win-1250 je zrovna takový standard, pokud ho uvedu nějakou deklarací na začátku dokumentu. A jeho podpora je bez problému, tak co? Dokonce ani HTML browseru WebViewer 1.6 běžícímu na Nokii 7650 se střevy v angličtině nedělá čeština v kódování Windows 1250 problémy, a to je OS konkurenční k Microsoftu :-)

Avatar

Autor komentáře: The King

Datum vložení: 11.9.2002 11:28:01

A co muze jineho nokia delat,chteji aby jejich software byl konkurenceschopny tak musi podporovat vsechny ty praseciny od ms. Kdyby prisla kazda veci firma se svym standartem tak se v tom ani prase nevyzna. To by bylo kodovani Linux-123, Unix-345, Solaris-789 HeliumXYOS-16795...

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 11.9.2002 11:24:25

win1250 nie je standart (nie je to ISO). Ina vec je ze win1250 je kodovanie ktore moze byt pouzite na prenost dat cez HTTP protokol. Standart to nieje, skor je to jeden velky omyl...

Avatar

Autor komentáře: The King

Datum vložení: 11.9.2002 11:30:32

Na prenos po http se da pouzit jakekoliv kodovan treba franta-opicak-123456 kdyz to klient podporujue :)

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 11.9.2002 11:51:14

Ano aj nie, malo to byt kodovanie ktore je registrovane u IANA <a href='http://www.iana.org/assignments/character-sets' target='_blank'>http://www.iana.org/assignments/character-sets</a>

Avatar

Autor komentáře: Marek Prokop

Datum vložení: 11.9.2002 12:22:40

XHTML také není ISO a zanamená to snad, že to není standard? HTML sice svou ISO verzi má (o něco přísnější než HTML 4.0 Strict), ale je to jen takový teoretický standard, který AFAIK nikdo nepoužívá.

Co se ale týče kódování, tak jediné, čeho jsem se kdy dopátral je to, že platné normy W3C povolují použití Windows 1250 a dokonce zároveň doporučují volit kódování, která jsou (s přihlédnutím k různým platformám) nejrozšířenější.

Nemohu si pomoci, ale čím dál víc jsem přesvědčen, že tvrzení "Windows 1250 je pro kódování (X)HTML dokumentů nestandardní" je jen takový neustále opakovaný mýtus.

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 11.9.2002 13:52:03

Ano, standard to urcite nieje, w3c vydava len recomendation. Standardy su len od organizacii ako su ANSI, ISO a ECMA :)

Ano win1250 sa moze pouzivat tak isto su na tom aj vsetky kodovania registrovane IANA. Ale s win1250 je podstatne viac problemov ako s iso-8859-2. Teraz nemyslim browsre ale vsetko to ostatne...

Ked uz kodovanie pre XHTML a XML potom je najlepsie utf-8. Aj microsoft uz pomaly zacina upustat od svojich vylomenin. Ved taky notepad pozna uz aj utf-8 ale je to dost nestandartna podpora :). (ak je subor *.xml ignoruje atribut encoding v xml prologu a trva si na svojom utf-8)

Avatar

Autor komentáře: Marek Prokop

Datum vložení: 11.9.2002 15:13:07

Dobře, čili mohli bychom se tedy shodnout, že kódovat (X)HTML dokumenty ve Windows 1250 je přibližně stejně legitimní, jako používání samotného XHTML, neboť se obojí zakládá pouze na doporučení W3C a nikoli na normách oficiálních standardizačních organizací? A naopak, pokud připustíme, že doporučení W3C, tedy např. specifikace XHTML či CSS mají povahu standardu, pak i kódování Windows 1252 žádné z takto pojatých standardů neporušuje.

Abychom si rozuměli, nejde mi o to, které kódování je *nejvhodnější*. Reagoval jsem pouze na tvrzení, že Windows 1250 není standard.

Avatar

Autor komentáře: Jirka Kosek

Datum vložení: 11.9.2002 20:18:22

Ano.

Jinak standardy (ISO, ANSI, ...) bývají často chápány jako svatost. Ale ani tyto standardy nejsou právně závazné, jako ostatně žádný standard. Dodržování standardů je spíše dobrý zvyk, který se vyplatí.

Buďme rádi, že HTML/XHTML/XML nejsou ISO standardy. Kdyby to byly ISO standardy nemohli bychom si je zdarma stáhnout z Internetu, ale museli bychom zaplatit několik desítek švýcarských franků za nesvázaný štůsek papírů.

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 11.9.2002 20:41:12

Lepsie by som to sam nenapisal.

Avatar

Autor komentáře: miroslav.kucera

Datum vložení: 11.9.2002 13:10:37

Mate pravdu, standarT to urcite neni :)

Avatar

Autor komentáře: Martin Snížek

Datum vložení: 12.9.2002 0:02:10

Já nevím, jako standard na webu chápu něco, co je vytvořeno relativně nezávislou skupinou lidí, špičkových odborníků na danou problematiku, a ne proprietárně jednou firmou...

Avatar

Autor komentáře: Jirka Kosek

Datum vložení: 12.9.2002 18:50:13

A myslíte, že v Microsoftu nepracují odborníci na danou problematiku? Samozřejmě, že ve windows-1250 jsou zcela zlomyslně změněny pozice znaků žšť oproti jejich pozici v iso-8859-2. Na druhou stranu jsou místo v dnešní době zcela nepotřebných řídících znaků na pozicích 128-159 v tomto kódování k dispozici velice užitečné znaky jako pomlčky, uvozovky apod., které v iso-8859-2 chybějí.

8bitová kódování jen definují, která podmnožina Unicode bude k dispozici. Na tom se moc nedá zkazit. Každé kódování vybírá jinou množinu znaků. Když se na to podíváte pragmaticky, tak windows-1250 je z technického hlediska lepší než iso-8859-2, protože nabízí více znaků na stejném prostoru 8 bitů. Definice kódování windows-1250 je zdarma k dispozici na <a href='http://www.unicode.org' target='_blank'>http://www.unicode.org</a> a jedná se o kódování registrované u IANA, takže nikomu nic nebrání v jeho implementaci. Každá rozumná aplikace bude nabízet podporu iso-8859-2 i windows-1250, protože stačí mít v programu o jednu mapovací tabulku navíc. Uživatel pak použije kódování, které mu nejvíce vyhovuje.

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 16.9.2002 10:47:23

Takže dokud někdo neprokáže, že čarodějnice neexistují, tak tomu asi budeme věřit. Teprve až na to bude norma, tak tomu uvěříme????

Win-1250 NENI norma!!!!! neni, neni a neni a nikdy nebude - je to soucast produktu jedne firmy - to, ze je diky rozsirenosti MS softu pomerne dost rozsirena je vec jina.

Mimochodem si zkuste zobrazit win-1250 na anglickych winCE. Iso-8859-2 tam prochazi bez problemu.

Avatar

Autor komentáře: Marek Prokop

Datum vložení: 16.9.2002 11:24:43

Počkejte, tady si možná trochu nerozumíme. On ten spor není ani tak o tom, zda nějaké konkrétní kódování je či není norma. Tady jde o *jiné* normy (resp. standardy či doporučení; konkrétně W3C), které určují, jaká kódování lze použít pro tvorbu (X)HTML dokumentů a přenos protokolem HTTP a Windows-1250 mazi tato kódování patří.

Existuje tedy jeden dokument z autoritativního zdroje, který říká, že Windows-1250 je OK. Proto hledám jiný dokument z neméně autoritativního zdroje, který by tvrdil opak. Pak bychom se dostali alespoň k tomu, že existuje jakýsi rozpor. Zatím to však stojí tak (a myslím, že tato diskuse to jen potvrdila), že Windows-1250 používat pro (X)HTML lze, aniž by se tím jakákoli norma, standard či doporučení porušilo.

Avatar

Autor komentáře: Petr Mach

Datum vložení: 17.3.2004 9:42:59

Aha, a ktery ze to autoritativni zdroj rika, ze kodovani windows je pro XML potazmo XHTML OK?

Avatar

Autor komentáře: Marek Prokop

Datum vložení: 11.9.2002 1:24:11

Dovolím si doplnit ještě další důvod, proč je UTF-8 pro kódování XHTML dokumentů vhodné.

V současnosti nejrozšířenější prohlížeč, Internet Explorer 6 pro Windows (IE6), rozlišuje dva vykreslovací režimy. První zachovává zpětnou kompatibilitu s IE5/Win, kdežto druhý respektuje stadardy (tedy, alespoň víc než ten první). Mezi nejviditelnější rozdíly těchto dvou režimů patří implementace box modelu (důležité pro výpočet velikosti boxů v CSS) a velikost písma udaného absolutně klíčovými slovy.

Režimy se přepínají deklarací typu dokumentu (tzv. DOCTYPE) a zde je právě ten háček. IE6 má totiž chybu, která způsobuje přepnutí do režimu zpětné kompatibility tehdy, není-li požadovaný DOCTYPE uveden bezprostředně na začátku dokumentu a tedy i tehdy, když dokument začíná XML prologem (v článku se nazývá "XML deklarace"). Jinými slovy, uvedete-li XML prolog, nepodaří se vám IE6 dostat do standardního režimu a to může mít dost nepřijemné následky.

Asi se ptáte, jak to souvisí s kódování. Jde o to, že když je dokument kódován v UTF-8, XML prolog není povinný, kdežto při kódování ISO 8859-2, nebo Windows 1250 povinný je.

Avatar

Autor komentáře: hys

Datum vložení: 11.9.2002 10:05:54

a ja porad proc mi to s tim prologem dela v IE6 podivnosti, prestal jsem ho tam davat a vsechny stranky bezi v pohode, validator to taky bez problemu odsouhlasi
pouzivam kodovani iso-8859-2, uz bych davno pouzivat utf-8 kdyby to umelo mysql

Avatar

Autor komentáře: Jirka Lahvička

Datum vložení: 13.9.2002 16:33:22

A nezabírají náhodou stránky uložené v UTF8 podstaně více kB? To je IMHO zatraceně dobrý důvod PROTI použití tohoto kódování, pokud nejde o multilinguální web nebo něco podobného.

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 13.9.2002 17:22:01

to nevadi...
utf-8 zabera stale menej ako unicode alebo entity. Stanky v uft-8 zaberaju oproti strankam v klasickom kodovani len o cca 10% viac.
Este mozne pouzit kompresiu na strane serveru kde ten rozdiel bude 1-2%

PS. komprimacne alg. su dnes stavane na kombinaci huffman/RLE/LZW ktore vyhladavaju rovanke retazce.

Avatar

Autor komentáře: Petr Havlík

Datum vložení: 11.9.2002 6:53:07

Notepad ve Windows zvládá UTF-8 také.

Avatar

Autor komentáře: Roman Pichlík

Datum vložení: 11.9.2002 10:20:15

bohuzel je celkem k nepouziti doporucoval bych jEdit 4.0 ten ho zvlada bezproblemu dokonce umi dle pouziteho DTD nabizet jake elementy lze pouzit. Je to vsak editor universalni takze neni priom urcen pro HTML zvlada toho, ale opravdu dost

Avatar

Autor komentáře: The King

Datum vložení: 11.9.2002 11:43:22

Kde se dá stáhnout ?

Avatar

Autor komentáře: Jirka Kosek

Datum vložení: 11.9.2002 10:52:40

Není úplně pravda, že by ISO 10646 a Unicode byly 32 a 16bitové znakové sady. Unicode se postupně vyvíjel, a skutečně kdysi byl plánován jen na 16 bitů. Současné verze Unicode a ISO 10646 jsou vydávány synchronizovaně, tj. obsahují stejné znaky. Potenciálně jich může být 2^32, ale zatím je definováno jen necelých 50000 znaků.

Jediný rozdíl mezi ISO 10646 a Unicode je v tom, že Unicode navíc definuje různé algoritmy pro řazení, pro zobrazování textů s různými směry zápisu, skládání komponovaných znaků apod. ISO 10646 je jen dost drahý svazek tabulek, ve kterých je uveden znak, jeho jméno a kód.

Avatar

Autor komentáře: Zbyněk Kosík

Datum vložení: 25.9.2002 11:50:30

Připojuji se k výhradě ohledně ISO 10646 vs. Unicode. ISO 10646 a Unicode se synchronizují, a jejich synchronizované verze obsahují stejné znaky. Takže i když kdysi Unicode byl 16bitový, obsahoval stejné znaky jako 32bitový ISO 10646. Z hlediska znaků a jejich kódů ve znakové sadě jsou ISO 10646 a Unicode totožné! Nekompatabilní byly ve verzi Unicode 1.0, ale už od Unicode 1.1 z r. 1993 jsou kompatabilní. ISO 10646 zajišťuje standardizaci znakové sady z pozice ISO, Unicode navíc definuje práci se znaky (například řadit znaky není triviální záležitost, protože abecedy různých národů mohou mít pořadí stejných znaků jiné atd.) Unicode už několik let není 16bitový! Představa o Unicode jako o 16bitové znakové sadě bohužel stále přetrvává... Nynější verze Unicode je 3.2.0. Více viz na <a href='http://www.unicode.org/' target='_blank'>http://www.unicode.org/</a>

Avatar

Autor komentáře: Zbyněk Kosík

Datum vložení: 25.9.2002 12:24:41

Zatímco Unicode (resp. UCS z hlediska ISO 10646) jsou znakové sady, ve kterých je každému znaku přiřazen jedinečný kód (číslo), UTF-8 a UTF-16 (a také UTF-32) jsou transformační formáty, které převádějí kód znaku do sekvence bajtů. UTF-8 má tu výhodu, že znak převádí do co nejmenšího počtu bajtů a neplýtvá tak místem jako např. UTF-32, který pro každý znak vyhradí 4 bajty. UTF-8 nemá problém s pořadím bajtů jako UTF-16 nebo UTF-32, u kterých je možné rozhodovat se o pořadí významnějších a méně významných bajtů zaznamenávaného čísla. V UTF-8 se nemusíme obávat nulových bajtů a zdrojové kódy programů v UTF-8 je tak možné použít i pro stávající překladače (např. C). UTF-8 je tak komptatabilní se stávajícími nástroji, nezhroutí je, a při použití prvních 128 znaků ASCII je příslušný záznam shodný s běžnými 8-bitovými kódováními. UTF-16 není kódování o pevné šířce 16 bitů. Není tedy možné říci, že by UTF-16 byl 16bitový (původní) Unicode. UTF-16 kóduje znaky buď do dvou bajtů nebo do dvojice dvou bajtů (čtyř bajtů) s pomocí tzv. "surrogate pairs". Podle hodnot jednotlivých bajtů v UTF-16 je možno rozeznat, jestli se jedná o jednoduché (2 bajty) nebo složené (4 bajty) kódování. Více viz na <a href='http://www.unicode.org/' target='_blank'>http://www.unicode.org/</a> a <a href='http://czyborra.com/utf/' target='_blank'>http://czyborra.com/utf/</a>

Avatar

Autor komentáře: Zbyněk Kosík

Datum vložení: 25.9.2002 13:14:32

Windows interně pracuje s Unicode! Spíše lze říci, že lokalizované české prostředí Windows nabízí uživateli kódování windows-1250, stejně tak lokalizované aplikace nebo aplikace využívající lokalizované rozhraní. Co se týče editorů, které podporují UTF-8 či UTF-16, od Windows 2000 je to například standardní Poznámkový blok! Také třeba UltraEdit v nejnovějších verzích podporuje UTF.

Avatar

Autor komentáře: waffen ms

Datum vložení: 25.8.2004 15:40:26

no jen NT verse, PSX(W95, W98) a WIN Meeee nikoliv

Avatar

Autor komentáře: Karel Polesny

Datum vložení: 26.6.2003 14:57:38

Není pravda, ze Homesite neumi UTF 8, verze 5.0 do utf8 uklada, musi
se to ovsem povolit v preferencich..

Avatar

Autor komentáře: waffen ms

Datum vložení: 25.8.2004 15:44:18

co je pravdy na tom, že pokud mám dokument XHTML a je v UTF 8 tak se to nemusí uvádět? protože je to standardní kódování pro XHTML?
Gecko -browsery a Opera to zvládnou bez problémů MSIE ani náhodou

Avatar

Autor komentáře: AliK

Datum vložení: 29.10.2004 18:30:33

nechci rejpat, ale stránky intervalu začínají:
"<?xml version='1.0' encoding='windows-1250'?>"
-> takže asi proti win-1250 nic nemáte :o)))

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 29.10.2004 19:31:23

Slyšel jste snad někoho odpovědného za technickou stránku Intervalu mluvit proti používání tohoto kódování? ;-)

Zpět na článek | Úvodní stránka Interval.cz