Hlavní navigace

Názor ke článku Čeština? Jdi mi k šípku! od Lael Ophir - [4] Windows řady NT jedou samozřejmě odjakživa interně...

  • 13. 5. 2008 13:31

    Lael Ophir (neregistrovaný)

    [4] Windows řady NT jedou samozřejmě odjakživa interně v Unicode. Ovšem pro zpětnou kompatibilitu je tam i API s ANSI code pages, které používají některé starší aplikace (konkrétně autoři, kteří ještě nepostřehli Windows řady NT). Pokud máte takové aplikace, nebo Windows 9x (o obojím již lze dnes úspěšně pochybovat), používejte pouze názvy v rámci code page, tedy bez ruštiny, hebrejštiny apod.
    Kompatibilita s unixy vás nemusí moc trápit. Názvy na straně Windows máte v Unicode, a na straně unixu skončí nejspíš v UTF-8. Samba od nějaké verze konečně také umí Unicode. Problémem může být, pokud máte aplikaci bez podpory Unicode, která navíc neprovádí převody code pages, a ta vytváří soubory (třeba file transfer). Pak totiž opravdu proběhne "přetypování" ANSI 1250 stringu na ISO 8859-2 nebo UTF-8, tedy problém. Otázkou je, proč tak hrozné aplikace používat.

    [7] Dlouhé názvy se obecně ve Windows zavírají do uvozovek. Takže v Outlooku pište "\\server\share\můj adresář\můj soubor.ext".

    [8] viz výše odpověď na [4]. Jinak UTF-8 je původně specilitka pro unixy. Unicode měl původně 16-bit hodnoty, jenže unixy nebyly (a nejsou) schopny operovat se znaky o šíři 16 bitů (muselo by se předělávat API; ve Windows se Unicode API dělalo ve fázi návrhu, tak to nebyl problém). Proto byl vymyšlen překlad, který z 16-bit hodnot udělá řadu 8-bitových, se kterými si i unixy poradí.

    [12] Flash disk není problém, protože VFAT má dlouhé názvy v Unicode. Jen musíte mít FS přimontované se správnými parametry. Problém při přenosu Windows-Windows neexistuje, protože ISO9660/Joliet, VFAT i NTFS mají názvy v Unicode. Ftp pravda nevím, tam možná bude problém.

    [15] Přesně, problém je na straně vaší lokální aplikace. Překvapuje, že ještě v 21. století je taková věc možná.

    [20] Viz výše odpověď na [4], [8]. Jinak problémy při přenosu textových souborů v UTF-8 můžete jednoduše eliminovat, když budete používat BOM na začátku souboru, jak se v Unicode doporučuje. Windows totiž nemají bez BOM možnost poznat, jestli je soubor v ANSI (1250) code page, nebo v UTF-8.

    [24] Dobrá pointa. On když založíte share s azbukou nebo s diakritikou v názvu, tak většina světa nebude schopná tu diakritiku napsat. Ovšem tam, kde není nutné text zapsat z klávesnice (třeba jména adresářů a souborů), je to celkem jedno. Stejně když potřebujete někam napsat název souboru, tak na něm stisknete F2 a CTRL+C, protože GUI (a na konzoli případně použijete doplňování).