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: zjisteni znakove sady v nazvu souboru  (Přečteno 3105 krát)

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
zjisteni znakove sady v nazvu souboru
« kdy: 16 Června 2010, 09:56:32 »
Potreboval bych zjistit jak jednoduse zjistit jake kodovani je pouzito v nazvech techto (viz priloha - 9 MB - http://leteckaposta.cz/794218521) souboru.

enca mi moc nepovedel
Kód: [Vybrat]
$ enca Green\ -\ Pop�jen�\ p�lno�n�ho\ v�na.rtf
(La)TeX control sequences
  CRLF line terminators


Namatkou jsem vyzkousel tyto konverze, ale bez uspechu

find . -type f -exec convmv -f cp1250 -t utf-8 {}  \;
find . -type f -exec convmv -f cp852 -t utf-8 {}  \;

"Pouze text v MS Wordu je opravdu čistý, příteli."

fish

  • Aktivní člen
  • *
  • Příspěvků: 307
Re: zjisteni znakove sady v nazvu souboru
« Odpověď #1 kdy: 16 Června 2010, 12:52:30 »
Pozri sa na http://forum.ubuntu.cz/index.php/topic,48187.msg349970.html#msg349970
Script používam už pár týždňov, zatiaľ bez problémov.
Kódovanie - každý program ho urobí inak, pôvodné kódovanie v .zip je cp852.
Acer Aspire 5738ZG/Intel T4400/ATI MR HD 4650/4GB RAM :: Ubuntu 10.04 64bit/Kbuntu 10.10 64bit/Win7 HP 64bit

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: zjisteni znakove sady v nazvu souboru
« Odpověď #2 kdy: 16 Června 2010, 13:01:06 »
Pozri sa na http://forum.ubuntu.cz/index.php/topic,48187.msg349970.html#msg349970
Script používam už pár týždňov, zatiaľ bez problémov.
Kódovanie - každý program ho urobí inak, pôvodné kódovanie v .zip je cp852.

Na skript mrknu.

Jen mi trochu nesedi to kodovani cp852, protoze nasledujici prikaz stejne korektn nefunguje:
Kód: [Vybrat]
jakub@jakub-laptop:/mnt/data/download/rapidshare/Green, Simon_doc$ convmv -f cp852 -t utf-8 Green\ -\ Pop�jen�\ p�lno�n�ho\ v�na.rtf
Your Perl version has fleas #37757 #49830
Starting a dry run without changes...
mv "./Green - Pop�jen� p�lno�n�ho v�na.rtf" "./Green - PopÝjenÝ pÓlnoânÝho vÝna.rtf"
No changes to your files done. Use --notest to finally rename the files.
"Pouze text v MS Wordu je opravdu čistý, příteli."

fish

  • Aktivní člen
  • *
  • Příspěvků: 307
Re: zjisteni znakove sady v nazvu souboru
« Odpověď #3 kdy: 16 Června 2010, 15:23:10 »
Problém je, že unzip aj 7zip sa snažia "inteligentne" prekódovať názvy do utf-8. Bohužiaľ nesprávne. Skús rozbalť
eval LANG="C" 7z x archiv.zip
potom použiť convmv
funguje to, ale keď je v názve zipu diakritika nevie 7zip niekedy nájsť súbor.
Asi bude treba 7zip z balíku p7zip-full (aby vedel rozbaliť zip)
unzip 6.0 na zmenu locale nereaguje.
unzip 5.52 má patch od altlinux preto vie správne previesť  diakritiku
« Poslední změna: 16 Června 2010, 15:32:55 od fish »
Acer Aspire 5738ZG/Intel T4400/ATI MR HD 4650/4GB RAM :: Ubuntu 10.04 64bit/Kbuntu 10.10 64bit/Win7 HP 64bit

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: zjisteni znakove sady v nazvu souboru
« Odpověď #4 kdy: 17 Června 2010, 06:57:21 »
Mohu se jeste zepta na radu s jednoduchym skriptikem.


provadel bych tento podobny prikaz (je jasne , ze tenhle nefunguje) jde mi jen o to postupne programu (paramtru -f) convmv predhazovat jednotliva kodovani.
Kód: [Vybrat]
#!/bin/bash
a=`convmv --list | wc -l`
count=1
while [ "$count -lt "$a" ]; do

convmv -f `convmv --list | sed '"$count"!d'` -t utf-8 "Green\,\ Simon_doc/Green\ -\ Pop�jen�\ p�lno�n�ho\ v�na.rtf"
        count=$(($count + 1))
done

Jde to resit i jinak nez v nejakem cyklu? Pri jeho tvorbe jsem se nejak zamotal a nefunguje mi.
"Pouze text v MS Wordu je opravdu čistý, příteli."

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: zjisteni znakove sady v nazvu souboru
« Odpověď #5 kdy: 17 Června 2010, 09:02:51 »
Tak jsem skript trochu upravil
Kód: [Vybrat]
#!/bin/bash
a=$(convmv --list | wc -l)
count=1
while [ "$count" -lt "$a" ]; do
c=$(convmv --list | sed '$count!d')
convmv -f $c -t utf-8 Green\ -\ Pop�jen�\ p�lno�n�ho\ v�na.rtf
count=$(($count + 1))
done

zjistil jsem , ze promena $c uvnitr cyklu neobsahuje jak bych ocekaval (asi milne) jednu polozku, ale vzdy komplet seznam dostupnych kodovani.
Kód: [Vybrat]
echo $c
7bit-jis AdobeStandardEncoding AdobeSymbol AdobeZdingbat ascii ascii-ctrl big5-eten big5-hkscs cp1006 cp1026 cp1047 cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp37 cp424 cp437 cp500 cp737 cp775 cp850 cp852 cp855 cp856 cp857 cp858 cp860 cp861 cp862 cp863 cp864 cp865 cp866 cp869 cp874 cp875 cp932 cp936 cp949 cp950 dingbats euc-cn euc-jp euc-kr gb12345-raw gb2312-raw gsm0338 hp-roman8 hz iso-2022-jp iso-2022-jp-1 iso-2022-kr iso-8859-1 iso-8859-10 iso-8859-11 iso-8859-13 iso-8859-14 iso-8859-15 iso-8859-16 iso-8859-2 iso-8859-3 iso-8859-4 iso-8859-5 iso-8859-6 iso-8859-7 iso-8859-8 iso-8859-9 iso-ir-165 jis0201-raw jis0208-raw jis0212-raw johab koi8-f koi8-r koi8-u ksc5601-raw MacArabic MacCentralEurRoman MacChineseSimp MacChineseTrad MacCroatian MacCyrillic MacDingbats MacFarsi MacGreek MacHebrew MacIcelandic MacJapanese MacKorean MacRoman MacRomanian MacRumanian MacSami MacSymbol MacThai MacTurkish MacUkrainian MIME-B MIME-Header MIME-Header-ISO_2022_JP MIME-Q nextstep null posix-bc shiftjis symbol UCS-2BE UCS-2LE UTF-16 UTF-16BE UTF-16LE UTF-32 UTF-32BE UTF-32LE UTF-7 utf-8-strict utf8 ount!d

Kde asi delam tu pitomou chybu?

"Pouze text v MS Wordu je opravdu čistý, příteli."

fish

  • Aktivní člen
  • *
  • Příspěvků: 307
Re: zjisteni znakove sady v nazvu souboru
« Odpověď #6 kdy: 17 Června 2010, 09:09:15 »
Riešiš to veľmi zložito.
Skús
Kód: [Vybrat]
a=`convmv --list`; for i in $a; do echo $i; done
namiesto echo $i daj svoj príkaz
Acer Aspire 5738ZG/Intel T4400/ATI MR HD 4650/4GB RAM :: Ubuntu 10.04 64bit/Kbuntu 10.10 64bit/Win7 HP 64bit

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: zjisteni znakove sady v nazvu souboru
« Odpověď #7 kdy: 17 Června 2010, 09:15:05 »
Riešiš to veľmi zložito.
Skús
Kód: [Vybrat]
a=`convmv --list`; for i in $a; do echo $i; done
namiesto echo $i daj svoj príkaz


jj dekuji.

Uz jsem prisel na to proc mi to nefungovalo.
Kód: [Vybrat]
#!/bin/bash
a=$(convmv --list | wc -l)
count=1
while [ "$count" -lt "$a" ]; do
c=$(convmv --list | sed ''$count'!d')
convmv -f $c -t utf-8 test.rtf
count=$(($count + 1))
done
v ty casti se sed-em jsou potreba promenou $count uzavrit do apostoru
"Pouze text v MS Wordu je opravdu čistý, příteli."

fish

  • Aktivní člen
  • *
  • Příspěvků: 307
Re: zjisteni znakove sady v nazvu souboru
« Odpověď #8 kdy: 17 Června 2010, 09:35:40 »
Je to nejaké reálne kódovanie?
Acer Aspire 5738ZG/Intel T4400/ATI MR HD 4650/4GB RAM :: Ubuntu 10.04 64bit/Kbuntu 10.10 64bit/Win7 HP 64bit

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: zjisteni znakove sady v nazvu souboru
« Odpověď #9 kdy: 17 Června 2010, 10:41:02 »
Je to nejaké reálne kódovanie?

Uz to asi resit nebudu projel jsem to a zadne kodovani na to nesedi. Udelal jsem konverzi na 7zip (dle tve rady) archiv a pak ho normalne rozbalil a nazvy jsou ok.

dekuji za trpelivost
"Pouze text v MS Wordu je opravdu čistý, příteli."

 

Provoz zaštiťuje spolek OpenAlt.