IDN JE CISTE ZLO!Popravde me prekvapuje, ze se o tomhle pise az ted... ale prijde mi absolutne silene, ze v unicode jsou pravdepodobne DESITKY symbolu, ktere jsou prakticky IDENTICKE, nicmene maji jiny kod.
Mimochodem - nekolikrat jsem silel nad tim, proc nejaky kus kodu co jsem zkopiroval z webu NEFUNGUJE, jenom abych po 2h absolutniho zoufalstvi zjistil ze uvozovky nejsou vzdycky uvozovky... KDOKOLIV kdo podporuje unicode v programovacich jazycich jinde nez uprostred stringu v uvozovkach si zaslouzi facku!
Psalo se o tom tuším již kolem roku 2000 (vzpomínám si že příkladem byla doména paypal.com). S tím že je to velký problém a musí se to nějak vyřešit. Do té doby IDN nebude.
Koukám, že se to nijak nevyřešilo. A IDN je.
Zase někdo chtěl páchat dobro za každou cenu a vyšel mu z toho prakticky neřešitelný průšvih.
Nejspíše to dopadne tak, že po prvních velkých aférách to začnou prohlížeče zobrazovat jinak než UTF8 písmenky. (a celé IDN tím bude popřeno). Nebo to nějak vybarvovat a upozorňovat (další otravování uživatelů).
Zakázat a basta. Kdo chce používat Internet, ať se naučí latinku. Nebo ať si vynalezne svůj.
IDN je užitečné je to akorát pro podvodníky a zločince.
Ve skutecnosti se to davno vyresilo, protoze to zadnej problem neni, dela se tu halo kolem velkyho hovna....
Protoze 99,999999% lidi je uplne uprdele, jestli si kliknou na ceskasporitelna mebo ceskakradatelna .... kdyz to to bude chtit jejich heslo, tak ho zadaj.
Tovize jo, tech 6G cinanu, indu, japoncu, arabu ... se kvuli tobe bude ucit psat nejakejma bukvama ...
Jo, aktorát že
- Čína - silně proexportní, povinná angličtina na škole, není problém.
- Indie - bývalá britská kolonie. Problémy se samostatnou prací bez dozoru, ne s latinkou.
- Japonsko - silná ekonomika, která vyrostla na exportu do USA, takže ASCII / US English není problém
- Arabi - ti ať si klidně IDN nechají. Aspoň jim to zkomplikuje verbování do IS.
- Rusi - taky mám pocit, že je ve škole povinná anglina.
...
Takže pro IDN v DNS fakt nevidím důvod.
To, že se někde povinně učí angličtina přece neznamená, že tamní obyvatelé v běžném životě angličtinu používají. České weby se taky nejmenují anglicky, i když spousta Čechů anglicky umí.
Podle mě je základním kritériem, jaké znaky lze snadno napsat na místní klávesnici. Pokud je potřeba nějaké úsilí k přepnutí do latinky, pak je určitě na místě používání IDN. Ale ideálně samozřejmě v IDN TLD, i když pro .com určitě existuje nějaká zkratka.
Angličtina se svou abecedou není nijak výsadní jazyk (přestože si to někteří myslí), není to tak dávno, co za mezinárodní jazyk platila francouzština. Nikde není psáno, že angličtina nepůjde za 10 let do pr-dele a nebude tu ruština nebo čínština (tu bych teda fakt nerad). Co budete dělat s DNS pak?
Přeloženo: Postavit IT výhradně na angličtině bylo chybou a ještě doteď se z toho svět nevyhrabal.
„...prijde mi absolutne silene, ze v unicode jsou pravdepodobne DESITKY symbolu, ktere jsou prakticky IDENTICKE, nicmene maji jiny kod.“
Obávám se, že zde půjde o absolutní nepochopení kódování - kód určuje význam znaku, ne jeho vzhled. To, že jsou 2 znaky vizuálně shodné, může být čirou náhodou, přičemž za 10 let to už o nich nemusí platit.
Jenže toto nepochopení se táhne napříč veškerým softwarem. Uživatele nezajímá, jestli kouká na 'a' v latince nebo v azbuce. Takže například pro doménová jména se nikdy neměl začít používat unikód, který rozlišuje význam symbolů, ale jiné kódování, které by znakům se se stejným nebo podobným vzhledem přiřazovalo stejný kód.
Unikód je psán tak, aby "jednoznačnost" byla na straně dokumentu a ne jeho zápisu. Doménová jména mají mít ale jednoznačnost naopak na straně zápisu a ne na straně té které domény.
Pokusím se to napsat trochu jasněji:
Unicode byl vymýšlen tak, aby dva (graficky) různé dokumenty měly různý zápis. I za cenu toho, že v některých případech několik různých zápisů dává stejný dokument.
Doménové jméno by mělo být přesným opakem. Jeden dokument(doména) musí mít právě jeden zápis, jinak nám v URI vypadává to U. A protože si URI předáváme tak, že ho napíšeme na papír (nebo nakreslíme do obrázku, youtube videa ...), tak by mělo být jednoznačné i graficky. A přesně tohle je bezhlavým zavedením IDN porušováno.
Takže například pro doménová jména se nikdy neměl začít používat unikód, který rozlišuje význam symbolů, ale jiné kódování, které by znakům se se stejným nebo podobným vzhledem přiřazovalo stejný kód.
To máte pravdu, ale komplikovalo by to, že by bylo nutné tohle nové kódování udržovat v návaznosti na změny v Unicode. A navíc zavádět nové arbitrární kódování – jako by jich už dnes nebylo moc… Navíc byste musel udržovat mapování mezi Unicode a tímhle kódováním, a byl by problém při převodu mimo domény – když někdo zkopíruje adresu apple.com z adresního řádku webového prohlížeče do textového dokumentu, jaké znaky by se tam měly objevit? Latinka nebo cyrilice? Podle mne je to současné řešení lepší, akorát si musí správci jednotlivých domén určit pravidla, které znakové sady jsou přípustné (což dělá většina ne-li všichni správci národních domén), správci generických domén (u kterých se dá předpokládat velké množství povolených znakových sad) by pak měli přidat pravidla pro zamezení registrace domén s ekvivalentními znaky (což můžou udělat i správci národních domén a třeba v TLD .cz se to předpokládá).
To nejde. Význam a vzhled znaku jsou 2 různé věci. A s unicodem to nemá co dělat, i v rámci jedné abecedy existují podobné znaky, (třeba I a l).
Tak vzhledem k tomu, že DNS vzniklo jako lidské pojmenování pro adresu, tak se předpokládá, že budou použity existující abecedy, které své jednoznačné kódování již mají (přestože je zde vůle jej skrýt za každou cenu). Z tohoto pohledu omezení na jednu abecedu jde proti smyslu DNS. Vlastně se říká: Pokusíme se zapsat adresy lidskou řečí, ale nesmí to být zase moc. Řešení pro lidi tak zůstalo na půl cesty. Ale jestli se neanglicky mluvící lidi mezi lidi nepočítají, tak je vše v pořádku.