Měl bych u této příležitosti jeden dotaz. Používám FreeBSD, kde je běžnější používat latin2 (ISO8859-2) než UTF8. Používám diakritiku i v názvech souborů v kódování latin2 a nechystám se ani nechci přejít na UTF8 a diakritiku v názvech souborů chci mít. Bohužel, s některými aplikacemi používající gtk jsou velké problémy, protože tvrdošíjně trvají na UTF8. Takovou výjimkou je např. GQview, který na to upozorní a dokonce poradí, co dělat. Ale u některých programů jsou tyto problémy tak velké, že dokonce znemožňují jejich používání v lokalizované verzi (např. XaraLX).
V této souvislosti se mi velmi často objevuje tato hláška:
Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
Nedá se to nějak řešit, aniž by se museli provádět tak zásadní změny jako například přechod na kódování UTF8?
Čekal jsem, že tu ozve někdo s podobným názorem. :-) Já to beru tak, že doba, kdy se muselo podřizovat něčemu, co někdo nějak omezeně navrhl, je snad už pryč a unixové systémy mi dávají tuto šanci, abych si své soubory nazýval tak jak chci, jak se mi líbí a jak to nejlépe vyhovuje mě a ne někomu jinému.
Takže ty se zase nezlob na mě, ale já nevnucuji diakritiku v názvech tobě ani nikomu jinému, tak ty zas nepřímo nevnucuj a nenapadej můj způsob pojmenovávání souborů s diakritikou. :-)
> to beru tak, že doba, kdy se muselo podřizovat něčemu, co někdo nějak omezeně navrhl, je snad už pryč a unixové systémy mi dávají tuto šanci, abych si své soubory nazýval tak jak chci,
No kdyz si nekdo sam sobe dobrovolne pridelava problemy, dobre mu tak :-)
Mě by zajímalo, proč nechcete přejít na UTF8. Já jsem v životě měnil kódování několikrát a teď už delší dobu používám k plné spokojenosti právě UTF a myslím, že to je definitivní řešení. Pochopili to naštěstí už i vývojáři.
1) Protože jak už jsem psal, mám soubory ve FS v kódování latin2.
2) Skoro všechno mám v latin2, i když uznávám že většinou není velký problém soubory překódovat.
3) Ze subjektivního důvodu. Pořád nedovedu překousnout, že v UTF8 obyčejný textový soubor má více bajtů, než znaků + konce řádků.
A ještě dodám, že na unixových systémech (svobodných včetně těch placených) oceňuji především jejich svobodu volby a svobodu v používání. Naneštěstí někteří linuxový vývojáři svého "svobodného" linuxu nechápou a jdou cestou podobnou firmě MS v duchu: "Buď se přizpůsobíš anebo máš smůlu." :-)
PS: Vzkaz pro ortodoxní a fanatické vyznavače GNU/Linuxu a ostatní, kteří mají problém s nadsázkou, berte to s humorem. :-)
UTF-8 není tak bezproblémové, jak se často píše, ale určitě je v dnešním světě bezproblémovější, než Latin 2. Jestli třeba Japoncům něco vadí na UTF-8 (a Unicode - nepopírám, že mají platné argumenty), nechci vědět, co si myslejí o Latin 2. :-)
Ale já nevnucuji latin2 Japoncům. :-) Já jen chci, aby mi vývojáři programů nevnucovali UTF8 obzvláště, když k tomu není žádný důvod. Čeština chodí stejně tak dobře v latin2 jako v UTF8.
Je k tomu duvod a to vysoka a pritom zbytecna pracnost, ktera za to proste nestoji. A jestli si myslite, ze to zas tak moc pracne neni, tak si vsechny programy upravte, aby umely pracovat s nazvy souboru v libovolnem kodovani. Mimochodem, uz jen spolehlive zjistit v jakem kodovani jsou ty nazvy neni jednoduche.
Naprosto souhlasím. Co jsem se narozčiloval při problémech s diakritikou, když jeden systém to má v iso-8859-2, druhý v cp1250, třetí v utf8 a teď se všemi komunikujte. Především vývojářům ta různorodost kódování přidělává zbytečnou práci a problémy.
Ale je to aspon univerzalni kodovani a nemusim resit, ze kazdy to ma jinak, protoze k tomu neni duvod. Ja osobne s utf-8 pri programovani potize nemam.
Súhlas. Nemálo fungujúcich programov na spracovanie prirodzeného jazyka, jednoducho s UTF-8 poriadne nefunguje a fungovať nebude, kým ich niekto neprepíše. A prečo by sa malo prepisovať niečo čo funguje? :) Resp. kto by to urobil?
> UTF-8 není tak bezproblémové, jak se často píše, ale určitě je v dnešním světě bezproblémovější, než Latin 2.
Nerekl bych. Pouzivam iso-8859-2 (v Debianu) a narazil jsem na jediny ne-UTF-specificky problem - GTK ignoruje nastaveni locale a predpoklada jmena souboru v UTF-8. Ten se da navic snadno odstranit pomoci nastaveni G_BROKEN_FILENAMES=1
Oproti tomu zavadeni UTF-8 se delo zpusobem - rozbijeme vsechny programy (zrusenim platnosti dosud platnych predpokladu) a pak je budeme postupne opravovat. I kdyz uz spousta veci je opravena, casto jeste clovek narazi na UTF-8 specificky bug. Napriklad neni osetrene handlovani UTF-8 znaku v pseudoterminalovem kodu Linuxoveho jadra, nebo grep funguje pri aktivovanem UTF-8 radove pomaleji (i kdyz regex i datovy soubor je v plain ASCII).
V dnešním světě a obzvláště při mé profesi je značně nepravděpodobné, že by se všechny texty na mém počítači vešly do Latin 2. (Jestli mi poradíš, jak do Latin 2 narvu staroangličtinu, abych si mohl při učení se psát do staroanglického textu české poznámky, budu Ti moc vděčný. :-)) A můj dojem je, že mít soubory (včetně plaintextu) v hromadě různých kódování a pak se snažit to kódování detekovat a vůbec tuhle různorodost samotné reprezentace textů na disku ošetřovat jako běžný případ taky nemusí být triviální. Raději budu mít většinu dat jednotných, s tím, že nějaké texty externího původu si budu muset překódovat.
Jo pro specificke situace (kdyz uzivatel je prekladatel) se UTF-8 asi hodi. Ja tu potrebu nemel. Plne si vystacim s anglictinou v ASCII a cestinou v ISO-8859-2. A vzhledem k tomu, ze ASCII je podmnozina ISO-8859-2, tak je to zcela neproblemove.
Používej co chceš, ale jednou ten přechod stejně udělat budeš muset. Přechod většiny linuxových dister na utf8 je jedna z nejlepších věcí, co mě za poslední roky potkala. Diakritiku v názvech souborů nepoužívám, protože se to má tendenci pomrvit při výměně dat s Windows (přestože NTFS má vnitřně taky unicode).
UTF má jednu velkou nvýhodu, že snadno nepoznáte, když někam místo e s háčkem omylem napíšete e s obloučkem.
Od svého začátku mám portál státní správy takovouto chybu v textu pro přihlašování lidí, kteří jej mají aktualizovat.
Proto mluvit o jednom definitivním kodu může jen člověk, který všechno obvykle píše bez háčků a čárek.
Bohužel nelze. Takto to funguje například v mnou už zmiňovaném GQview, který to dokonce i sám nabídne. Ale plno jiných programů (alespoň pod FreeBSD) stále tvrdošíjně trvá na UTF8.