Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: Jirka RCK 11 Dubna 2011, 21:52:58
-
Dobrý den,
potřeboval bych poradit s problémem při otevírání diakritického prostého textu uloženého pod windows. Místo některých znaků (š, ž) se zobrazí skomolenina. Problém je například při editaci txt souborů geditem, otevírání srt titulků v Totemu a někdy v názvech souborů při rozbalování zip/rar archivů. Dá se tato nekompatibilita vyřešit doinstalováním nějakého balíku, nebo v čem je problém?
Možná mi někdo odpoví, že je problém ve windows, které používají nestandartní/neefektivní/nesvobodný nebo nevím jaký formát kódování znaků (takovéto odpovědi při problémech s linuxem bohužel někdy slýchávám), ale takovéto řeči nejsou řešením a soubor si jimi neotevřeme :-) ;)
-
http://wiki.ubuntu.cz/K%C3%B3dov%C3%A1n%C3%AD%20znak%C5%AF -- nestačí?
-
Děkuji, to je ono. V tutorialu se ale píše jo metodách přeformátování souboru. Nedal by se problém vyřešit globálně, aby systém uměl číst windowsovské kódování znaků a při otevírání nového souboru se už nemuselo nic dělat?
-
a) píše se zkomolenina.
b) Jak má systém nebo nějaký jiný program "globálně" poznat, že se jedná o prostý text ve widláckém kódování? Až vyřešíš tuhle otázku, můžeš řešit překódování.
-
a) to je hezké, ale problém se tím taky neřeší ;D
b) Máš pravdu. Já na to nahlížím jako uživatel, v tomhle se až tak nevyznám, ale zní to logicky. Škoda, je to takový detail, který systému ubírá na kráse... Ale například VLC player problémy nemá - přehrává mi oba druhy kódování bez problému - takže by způsob kódování mohl být nějak rozeznatelný. Myslel jsem, že to bude nějaká lehce upravitelná banalita. Pokud to nejde ošetřit, tak je asi při problému nejjednodušší používat VLCčko pro titulky a notepad z wine pro edit nekompatibilních texťáků. Jinak díky za ten odkaz o omlouvám se, že jsem na něj nenarazil sám...zkoušel jsem vyhledávat na fóru a nic jsem nenašel.
EDIT: Ještě jsem nad tím "jak má program poznat" přemýšlel a na něco jsem přišel. Co kdyby se před otevřením načetlo prvních x znaků (třeba 500) linuxáckým kódováním, spočítal by se počet znaků "š" a počet "š-zmatenin" a tyto hodnoty by se porovnaly. Pokud by byl větší počet "š", znamenalo by to správně zvolené kódování a program by soubor bez hlášení otevřel. Pokud by bylo více zmatenin, zobrazila by se hláška "Zjištěno kódování Windows - Použít x Ignorovat". V případě přehrávače filmů by se hláška mohla vypustit - je málo pravděpodobné, že by někdo úmyslně uložil na začátek titulků mnoho divných znaků...a všechno by šlapalo bezvadně. Ale vrchol mého programování bylo pár pythoňáckých řádek pro Blender, takže nevím, jak je tahle teorie reálná :-)
-
kdyz geditem oteviras nejaky soubor, tak mas na vyber, jestli ten soubor nechas gedit otevrit v automaticky zjistenem kodovani, nebo mu nejake zvolis na tvrdo a pak si to muzes ulozit v jakem chces kodovani.. otevirani v notepadu pres wine je blbost. pro konzolove (klidne davkove) rekodovani souboru muzes pouzit treba iconv.
-
Vtip je v tom, že program může tak akorát zjistit, že soubor je v nějakém jiném kódování. Už ale nemá šanci spolehlivě zjistit, v jakém kódování skutečně je, mimo jiné už proto, že každý byte může odpovídat nějakému smysluplnému znaku v několika různých kódováních. Je tu samozřejmě řeč o jednobajtových kódováních.
Tady holt musí nastoupit uživatel a učinit rozhodnutí...
-
Nebo důsledně používat UTF-8, ve Woknech i v Linuxu. Identifikace kódování zajistí BOM, ale to občas také působí problémy.
-
Nebo důsledně používat UTF-8, ve Woknech i v Linuxu. Identifikace kódování zajistí BOM, ale to občas také působí problémy.
Což je sice hezká rada, ale neřeší problém s texťáky třetích stran, které na to prdí...
-
Tak fajn, díky za rady :-) Teď koukám na ten Gedit a už to vidím. Jen mi moc nejde do hlavy, jak to dělá VLC player, že se v něm nic nevolí a jede...
-
Tak fajn, díky za rady :-) Teď koukám na ten Gedit a už to vidím. Jen mi moc nejde do hlavy, jak to dělá VLC player, že se v něm nic nevolí a jede...
Já tedy nevím, jak to dělá tvé vlc, ale to moje vždycky vyžaduje, abych si kódování nastavil ručně. Vzhledem k tomu, že v podstatě všechny české titulky jsou ve Win-1250, tak to musím po instalaci udělat jen jednou. A anglické titulky, u těch je to fuk, ty vypadají stejně pod Win-1250 i utf8, nebo třeba arabským win-1256.