Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Kódování znaků u texťáků  (Přečteno 2734 krát)

Jirka RCK

  • Návštěvník
  • Příspěvků: 37
Kódování znaků u texťáků
« kdy: 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 :-) ;)

Vojtěch Trefný

  • Příspěvků: 9307
  • Don Quijote
Re: Kódování znaků u texťáků
« Odpověď #1 kdy: 11 Dubna 2011, 21:54:38 »

Jirka RCK

  • Návštěvník
  • Příspěvků: 37
Re: Kódování znaků u texťáků
« Odpověď #2 kdy: 11 Dubna 2011, 22:02:17 »
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?

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Kódování znaků u texťáků
« Odpověď #3 kdy: 11 Dubna 2011, 22:59:11 »
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í.

Jirka RCK

  • Návštěvník
  • Příspěvků: 37
Re: Kódování znaků u texťáků
« Odpověď #4 kdy: 11 Dubna 2011, 23:40:38 »
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á :-)
« Poslední změna: 12 Dubna 2011, 00:14:25 od Jirka RCK »

Šuohob

  • Závislák
  • ***
  • Příspěvků: 2171
Re: Kódování znaků u texťáků
« Odpověď #5 kdy: 12 Dubna 2011, 00:16:51 »
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.
Tak dlouho se vrzá s Acerem, až se displej utrhne.

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Kódování znaků u texťáků
« Odpověď #6 kdy: 12 Dubna 2011, 09:36:59 »
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í...

RNA

  • Stálý člen
  • **
  • Příspěvků: 630
Re: Kódování znaků u texťáků
« Odpověď #7 kdy: 12 Dubna 2011, 12:32:05 »
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.

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Kódování znaků u texťáků
« Odpověď #8 kdy: 12 Dubna 2011, 12:49:10 »
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í...

Jirka RCK

  • Návštěvník
  • Příspěvků: 37
Re: Kódování znaků u texťáků
« Odpověď #9 kdy: 12 Dubna 2011, 19:45:40 »
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...

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Kódování znaků u texťáků
« Odpověď #10 kdy: 12 Dubna 2011, 20:26:42 »
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.

 

Provoz zaštiťuje spolek OpenAlt.