Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: compaq 02 Listopadu 2012, 12:20:13

Název: Čím překódovat češtinu u TXT
Přispěvatel: compaq 02 Listopadu 2012, 12:20:13
Jak překódovat hromadně soubory v adresáři do jedné češtiny, například UTF-8?
Jak poznat u TXT souboru, jaké je kódování?
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: ntz_reloaded 02 Listopadu 2012, 12:39:01
zagugli iconv .. nebo man iconv
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: beer 02 Listopadu 2012, 12:39:17
http://stackoverflow.com/questions/1975057/bash-convert-non-ascii-characters-to-ascii (http://stackoverflow.com/questions/1975057/bash-convert-non-ascii-characters-to-ascii)
http://www.andreaspollak.eu/2011/03/convert-text-file-from-iso-8859-1-to-utf-8-linux-bash/ (http://www.andreaspollak.eu/2011/03/convert-text-file-from-iso-8859-1-to-utf-8-linux-bash/)
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: compaq 02 Listopadu 2012, 13:47:05
zagugli iconv .. nebo man iconv

Díky. Je tam
Citace
iconv -f ISO-8859-2 -t UTF-8
ale já potřebuju
Citace
iconv -f "různé mrskané češtiny" -t UTF-8

aneb: Jak poznat u TXT souboru, jaké je kódování?
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: beer 02 Listopadu 2012, 14:14:43
Určitě poradí google :). Jinak i blbý notepad ve widlích umí uložit otevřený soubor v několika druzích kódování (ANSI, UTF-8, Unicode, Big Endian). Divil bych se, kdyby to linuxové editory neuměli.
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: Vojtěch Trefný 02 Listopadu 2012, 14:17:32
aneb: Jak poznat u TXT souboru, jaké je kódování?

Nijak, jedině vyzkoušet. U češtiny ovšem připadá (za normálních okolností) v úvahu jen trojice ISO-8859-2, CP1250 (Win-1250) a UTF-8.
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: beer 02 Listopadu 2012, 14:31:12
aneb: Jak poznat u TXT souboru, jaké je kódování?

Nijak, jedině vyzkoušet. U češtiny ovšem připadá (za normálních okolností) v úvahu jen trojice ISO-8859-2, CP1250 (Win-1250) a UTF-8.

No, možná tomu úplně tak nebude, na abclinuxu  (http://www.abclinuxu.cz/poradna/linux/show/164672#1)doporučují program enca nebo program file s přepínačem -i.
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: beer 02 Listopadu 2012, 14:34:15
Ještě toto je zajímavé:

http://tomas.dankovi.info/content/6-bash-skripty (http://tomas.dankovi.info/content/6-bash-skripty)

Citace
Dávková změna kódování

Pomocí příkazu iconv nebo convmv je možné změnit kódování souborů např. z Win-1250 na UTF-8:

Kód: [Vybrat]
for F in $(find $1 -iname "*.html")
do
  if [ -f $F ]; then
    iconv -f windows-1250 -t utf-8 $F > ${F}1
    mv ${F}1 $F
  fi
done
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: Tomtom 02 Listopadu 2012, 14:43:50
aneb: Jak poznat u TXT souboru, jaké je kódování?

Nijak, jedině vyzkoušet. U češtiny ovšem připadá (za normálních okolností) v úvahu jen trojice ISO-8859-2, CP1250 (Win-1250) a UTF-8.

Vždycky jsem měl za to, že
Kód: [Vybrat]
enca a.txtzjistí kodovani, a
Kód: [Vybrat]
enca -x utf8 a.txtrespektive asi správně (i když rozdílu si nejsem vědom)
Kód: [Vybrat]
enca -c -x utf8 -l czech a.txtho změní.

Jinak řečeno, není třeba zjišťovat - zjistí si to samo (i když se občas netrefí ;)) Stejně jako se textový editor snaží u ukládání předvolit kodováni...
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: Vojtěch Trefný 02 Listopadu 2012, 14:43:50
aneb: Jak poznat u TXT souboru, jaké je kódování?

Nijak, jedině vyzkoušet. U češtiny ovšem připadá (za normálních okolností) v úvahu jen trojice ISO-8859-2, CP1250 (Win-1250) a UTF-8.

No, možná tomu úplně tak nebude, na abclinuxu  (http://www.abclinuxu.cz/poradna/linux/show/164672#1)doporučují program enca nebo program file s přepínačem -i.

Odhadnout je to správné slovo ;)

Kód: [Vybrat]
The Big Bang Theory S02E01.srt: text/plain; charset=unknown-8bit
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: beer 02 Listopadu 2012, 14:49:16
A ten program file také jen odhaduje? Je škoda že není nějaké lepší řešení.
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: Martin Šácha 02 Listopadu 2012, 15:17:00
A ten program file také jen odhaduje? Je škoda že není nějaké lepší řešení.
A podle čeho bys to chtěl *poznat? Snad jedině OCR a žlutým koněm.
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: jadd 02 Listopadu 2012, 15:21:16
Určitě poradí google :). Jinak i blbý notepad ve widlích umí uložit otevřený soubor v několika druzích kódování (ANSI, UTF-8, Unicode, Big Endian). Divil bych se, kdyby to linuxové editory neuměli.
I blbý notepad, je chytřejší než Gedit, protože otevřít soubor je základ.
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: Martin Šácha 02 Listopadu 2012, 15:26:27
Určitě poradí google :). Jinak i blbý notepad ve widlích umí uložit otevřený soubor v několika druzích kódování (ANSI, UTF-8, Unicode, Big Endian). Divil bych se, kdyby to linuxové editory neuměli.
I blbý notepad, je chytřejší než Gedit, protože otevřít soubor je základ.
Protože blbý notepad nic jiného než 852, 1250 a zmršený (zkus otevřít v notepadu utf8 z geditu) utf8 neumí...
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: jadd 02 Listopadu 2012, 15:37:20
Já jsem otevřel v Notepadu, vždy vše, za to v Geditu, málo co. A pokud mi Notepad špatně odseká entry, záchrana je Wordpad. Vim je pak jistota, tedy pokud má soubor méně než je volná kapacita RAM.
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: compaq 02 Listopadu 2012, 16:17:08
Podle mého, pokud soubor s textem neobsahuje jediné písmenko s diakritikou, nelze kódování zjistit, ale je to potom jedno :-)

Uvítal bych jednoduchý návod:

Jak se ti zobrazí ž? Jestli jako
# je to 8859-2
& je to Win-1250
° je to 852
€ je to původně 8859-2 otevřený chybně jako Win-1250 a uložený jako UTF-8
# musíš najít nějaké ř a poznat to podle ř

atd.

:-)
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: jadd 02 Listopadu 2012, 17:16:56
Pozná to program, který to umí číst v hexa, tak jak je to uložené na disku.
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: beer 02 Listopadu 2012, 17:23:39
Pozná to program, který to umí číst v hexa, tak jak je to uložené na disku.

To jsem si přesně myslel :), ale neodvažoval jsem se to napsat, protože tomu nerozumím :).
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: Cuore 02 Listopadu 2012, 17:25:32
Citace
Já jsem otevřel v Notepadu, vždy vše, za to v Geditu, málo co
já mám osobně dobré zkušenosti s editorem v Xfce jmenuje se "mouse...."  :o prostě něco s myší. Většinou kde gedit skončil, tady to šlo v pohodě
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: jadd 02 Listopadu 2012, 17:27:49
Já taky ne, ale je dobré to vědět. Takhle to třeba rozezává phototorec, ale pokud je soubor roztroušený, třeba pokud najde půl hlavičky v souboru, má to těžký.
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: beer 02 Listopadu 2012, 17:39:06
Citace
Já jsem otevřel v Notepadu, vždy vše, za to v Geditu, málo co
já mám osobně dobré zkušenosti s editorem v Xfce jmenuje se "mouse...."  :o prostě něco s myší. Většinou kde gedit skončil, tady to šlo v pohodě

mousepad
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: Martin Šácha 02 Listopadu 2012, 19:08:04
Pozná to program, který to umí číst v hexa, tak jak je to uložené na disku.
Aha, takže program který to čte jako bitstream nemá šanci? ;) Na reprezentaci informace přece nezáleží...

Odhlédnu od toho, že každý program čte to co mu systém řekne že je na disku...
Název: Re:Čím překódovat češtinu u TXT
Přispěvatel: pacholik 02 Listopadu 2012, 23:25:01
Kód: [Vybrat]
sudo apt-get install python-chardet
Kód: [Vybrat]
$ uchardet můj_soubor
můj_soubor: utf-8 (confidence: 0.99)
$ uchardet soubor_od_někoho_jinýho.txt
soubor_od_někoho_jinýho.txt: ISO-8859-2 (confidence: 0.80)

jinak gůglete chardet