Portál AbcLinuxu, 3. května 2025 08:48
Diskuse byla administrátory uzamčena.
Žluťoučký kůň příšerně úpěl ďábelské ódy.a taky tam jsou obsaženy všechny znaky.
Žluťoučký kůň úpěl příšerné ďábelské ódy.by ti vyhovovalo?
iconv -t cp1250 -f utf8 soubor -o souborNa co je třeba dávat pozor je tohle
iconv -f cp1250 -t utf8 soubor > soubor # a tohle iconv -f cp1250 -t utf8 < soubor > souborprotože to už tak vesele nedopadne (skončí to prázdným souborem). Ovšem to už není věc iconvu, ale přesměrování shellu.
man iconv
neuvadi parametr -o
, sam jsem na to prisel nahodou, proste jsem to zkusil a slo to.
iconv -f UTF-8 -t ASCII//TRANSLIT
.
Pozor, jeho výsledek závisí na locale:
~> echo Müller | LANG=cs_CZ.UTF-8 iconv -f UTF-8 -t ASCII//TRANSLIT Muller ~> echo Müller | LANG=de_DE.UTF-8 iconv -f UTF-8 -t ASCII//TRANSLIT Mueller
convmv
.
Kdyby tak už konečně tohle všechno zmizelo a všude zavládlo kódování UTF-8! Hned by bylo na světě o něco lépe.
Jenže to by nesměl existovat Mrkvosoft se svými Windows. To je nejhorší brzda veškerého pokroku. Těžko lze najednou prosadit UTF-8 ve všech textech, síťových protokolech, souborových systémech a lokalizacích aplikací, když drtivá většina českých uživatelů tam všude bude mít zmrzačený-latin-2 zvaný Windows-1250.
I samotná existnce „jazykových verzí“ software svědčí o zoufalé technické zaostalosti Mrkvosoftu v této oblasti. Například u KDE uživatele ani nenapadne, že by měl třeba KDE CZ nebo něco podobného! Když se k jednomu počítači připojí čtyři monitory, čtyři klávesnice a čtyři myši, může si k němu sednout Číňan, Japonec, Čech a Egypťan a všichni čtyři budou mít samozřejmě celé prostředí ve svém jazyce. K Windows zasedne stěží jeden jediný člověk a ani tehdy nic nezaručuje, zda tam bude schopen svoji lokalizaci nějak nastavit.
Over the last year or so, as UTF-8 has finally started to gain some acceptance, I've ran into a lot of UTF-8 zealots who think that UTF-8 should be the single global one-size-fits-all standard; that it is the Final Encoding and there will be nothing after it. They seem to think that programs should assume that all input and output is, will be and should be UTF-8 or, if the program doesn't need to deal with individual characters, that it should ignore character sets and encodings altogether, assuming a single global standard – the UTF-8 monoculture.
Have they not learned that assumption is the mother of all fuck-ups?
Já považuju utf-8 za geniální vynález.Asi tak geniální jako RLE nebo huffman. To jen někteří, co se narodili včera, jsou z toho odvázaní až na půdu.
v praxi pro víceznakové řetězce dokonce převažují ty výhody.Výhody převažují právě pro nevíceznakové.
Urážky si nech na doma, tady na ně neni nikdo zvědavej :). I když doma asi taky, ne, viď :). S tímhle přístupem ze sebe akorát uděláš blbce.Já považuju utf-8 za geniální vynález.Asi tak geniální jako RLE nebo huffman. To jen někteří, co se narodili včera, jsou z toho odvázaní až na půdu.
To je podle mě nesmysl. Ukládání jednoho znaku mi přijde daleko lepší do "integeru" než do bajtového řetězce proměnlivé délky.v praxi pro víceznakové řetězce dokonce převažují ty výhody.Výhody převažují právě pro nevíceznakové.
Oni mají jednotlivé komponenty (radikály) toho písma dobře definované.
A co jako? System zapisu zustava debilni a zaostaly...
Zrovna tenhle text není moc dobrý argument pro obhajobu současného zmatku kolem kódování. A z téhož článku cituji:
Almost everyone in their right mind will use an UTF-8 locale for now (unless some obsolete but important piece of software has other requirements), but nobody should be forced to do so, neither now, nor in the future. For, if something better or more suited to some environment comes along, it will then be easier to switch to it.
Autor na jedné straně tvrdí, že kdo nepoužívá UTF-8 locale, ten na tom možná není úplně dobře, pokud jde o rozum. Na druhé straně ostře vybízí k bezbřehé toleranci hraničící s otevřenou podporou totálního chaosu. Poněkud rozporuplný přístup k věci.
V době vzniku toho blogpostu jsem už sice měl UTF-8 locale, ale o pár měsíců dřív jsem ještě používal ISO-8859-2, protože kvůli některým programům (a rozhodně nebyly obsolete) to bylo nezbytné. A potíže s hlavou jsem neměl.
Refusing minimal locale support and encoding conversions, where possible and useful, and assuming instead everyone who wishes to partake in an exchange, to use the same locale and encoding, should not be an option, not if diversity has any value to you. And if that is not the case, I don't want to have anything to do with you or your programs.
Ve světě, kde žiju já, je situace taková: Drtivá většina uživatelů o takových věcech vůbec nerozhoduje a ani nedovede kvalifikovaně rozhodnout! 99% uživatelů netuší, jakým způsobem se ukládají jejich data a jak s tím souvisí texty. Chtějí pouze kompatibilitu. Problém tedy není v tom, že by někdo nutil uživatele, aby byli ve všem stejní. Někdy vidíme pravý opak. Microsoft je toho příkladem. Jeho kódování Windows-1250 andeb zmrzačené-latin-2 na dlouhou dobu zmrazilo pokrok v oblasti ukládání a sdílení textů ve všech jazycích kromě angličtiny.
Zatímco ASCII-assumption je zjevně něco zcela špatného, protože jde v podstatě o předpoklad existence jen dvou jazyků — latiny a angličtiny —, UTF-8-assumption mi přijde jako rozumný předpoklad všude tam, kde není možné kódování explicitně oznámit v metadatech nebo jiným vhodným způsobem. Jednoduše proto, že v dnešním světě neexistuje jazyk, kterému by UTF-8 působil problémy. Nebo snad existuje?
Jsou konvence, jejichž nedodržení vede k potížím. To pochopitelně neznamená, že by se z konvence měl stát zákon. Vznikla by totalita. (V tomto směru s autorem blogpostu souhlasím.) Neodpustím si ovšem jeden protipříklad pro ilustraci:
Kdybych měl dost prostředků, nic mi nebrání zkonstruovat auto, které se řídí gamepadem připojeným do USB portu na palubní desce. Když si ale půjčím pro mě dosud neznámé auto v půjčovně, můžu směle předpokládat, že bude mít volant a pedály. Autor odkazovaného blogpostu ovšem tvrdí, že to předpokládat nesmím a že musím být kdykoliv připraven začít se v přeplněných ulicích velkoměsta učit ovádat auto gamepadem. A to je nesmysl.
Drobná oprava: Poznámka o Windows se měla týkat všech znakových sad Windows-xxxx, ne pouze té středoevropské.
Jednoduše proto, že v dnešním světě neexistuje jazyk, kterému by UTF-8 působil problémy. Nebo snad existuje?
Existuje A nejsou to žádné jazyky na vymření, třeba čínština a japonština. To si jednou nějaká chytrá hlava kdysi řekla, že "vždyť to vypadá málem stejně" a jednoduše se sjednotily některé varianty znaků. Takže je v Unicode jeden kód pro dva (graficky a foneticky, někdy i významově) různé znaky.
Převedeme-li to, co se stalo s kódováním těmto asiatům do našich zeměpisných šířek, tak je to jako kdyby byl v Unicode jediný kód pro znaky "ů" a "ô" (a klidně i pro další páry, co třeba "m" a "n", taky téměř stejné). Volbou vhodného fontu (slovenský font, český font, font s m, ...) by se rozlišovalo, který z těchto znaků se zobrazí. Kdo by proboha mohl mít tu drzost takový systém nazývat konečným řešením!?
A to jsem ještě nezačal uvádět druhou vlnu zjednodušování čínských znaků (která co jsem se naposledy koukal chybí téměř celá), ten korejský nesmysl co je zaveden, ty chyby co tam zavlekla nepozornost, systematických duplicit atd. atd.
Inu dobrá, takže Microsoft se s desetiletým zpožděním dohrabal k podpoře pro lokalizaci, která byla v linuxových distribucích už dávno. Well done.
Nicméně tato lokalizace je (předpokládám) k dispozici jenom za příplatek a jenom u některých verzí. Ostatní verze mají antifeature. Což je skoro totéž, jako by tam nebyla.
Mimochodem, znamená to, že když spustím jeden počítač s Windows a bude s ním přes RDP pracovat 10 uživatelů paralelně, bude mít každý z nich svoji lokalizaci? Mám takové tušení, že v tom zase bude háček...
Rád věřím, že na nějakých Windows Ultra-Hyper-Server-Stojím-Sto-Litrů to asi půjde, ale nějaká Vista, což jsou zatím poslední Windows, které jsem viděl, se ke změně locale moc neměla. Asi to nebyla edice Hyper-Kdesicosi, nevím...
To je podobné, jako když se se mnou tuhle někdo hádal, že 64-bitová verze Windows podporuje víc než 8 GB RAM. Skutečně? Vista Home Basic rozhodně ne.
Po tomhle mi už nezbývá, než doporučit odstranit diakritiku z názvů úplně.Ja bych naopak doporucil se s tim naucit zit. Protoze se ti jinak stane, ze musis neco udelat na stroji, kde jsou nazvy obsahujici pomalu i konce radek, a kdyz nevis co s tim, tak koncis.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.