Portál AbcLinuxu, 14. července 2025 13:44


Dotaz: diakritika v nazvu souboru

17.1.2004 19:17 zdenek
diakritika v nazvu souboru
Přečteno: 542×
Odpovědět | Admin
ahoj, kopiroval jsem pod debianem velke mnozstvi souboru jejichz nazvy byli s diakritikou, z ntfs oddilu. nejdrive jsem to kousel v konzoli (v mc), ale to hazelo sposty chyb ze je spatne kodovani. tak jsem spustil xka a v nich to vypadalo, to pujde tak jsem je zkopiroval. kdyz ted, ale potrebuji se soubory pracovat v konzoli a stahovat pres sambu tak je vsechna diakritika pryc a misto ni jen same otazniky. nerad bych tech 40GB stahoval znova a tak se ptam jestli je nejaka sance tu diakritiku opravit nebo je nenavratne pryc? koukal jsem na fci recode, ale nevim jak s ni zmenit jenom nazvy ne obsah souboru. predem dik
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.1.2004 19:22 Richard Gavenda | skóre: 19 | Třinec
Rozbalit Rozbalit vše diakritika v nazvu souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevím, jestli je nějaké šance na opravu diakritiky, ale aby se mi tohle nestalo, přidávám při mapování windowsovského disku parametry -o codepage=852,iocharset=utf8
17.1.2004 21:21 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše diakritika v nazvu souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obávam se, že jestli jsi nepřipojil NTFS se správným codepage a iocharset (což bude BTW v Debianu mnohem spíš ISO-8859-2, než UTF-8), tak ta jména souborů mohou být už v tuto chvíli zmršená a nic jim nepomůže (tj. informace o některých znacích už tam prostě není). Když to řve, že je špatné kódování, tak je lepší se zamyslet, proč to asi dělá ;-) Vyzkoušet to můžeš find /adresář/s/těmi/daty | recode odněkud...l2 kde odněkud je bůhvíco (na tomto místě se nemohu neodkázat na Enca). Vůbec si ten výstup findu > někam do souboru a pokud půjde uvést do příčetného stavu algoritmicky ten soubor, půjdou i ta zmršená jména a vice versa. Tj. jsou dvě možnosti (a) Jména nejsou definitivně zmršená. Pak to s použitím recode/iconv/cstocs/enca, sedu a joinu celkem snadno přejmenuješ (případně popíšu přesněji jak). (b) Jména jsou definitivně zmršená. Pak sice pokud nechceš tahat znovu data, lze zkusit find na tom NTFS a z dalších metadat o souborech (délka, čas modifikace, koncovka, první čtyři bajty, ...) provést vzájemné přiřazení a jen je přejmenovat, ale IMHO nemá smysl psát dvacet minut skript, který to bude dělat, když můžeš nechat dvacet minut pracovat stroj a přetáhnout ta data znovu -- leda snad jako intelektuální cvičení.
17.1.2004 23:27 zdenek
Rozbalit Rozbalit vše diakritika v nazvu souboru
mno rekl bych ze ta diakritika pryc uplne nebude, protoze ty znaky jsou v poradku v mc (ale pres ssh), kdyz dam prikaz ls tak jsou misto nich otazniky, ale kdyz dam ls | less tak to ukazuje v mistech kde ma bejt pismeno s diakrit a navic z win pres sambu to ukazuje uplny nesmysly coz by asi jinak neukazovalo. zkousim ruzny variace s recode (ale porad mi pise invalid input in step..). testnu i to enco a dalsi, ale moc nevim vsechno co zkousim tak delam pres ssh z win> disk je v routru ve skladu. myslim ze to putty nak dokrasluje
18.1.2004 00:11 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše diakritika v nazvu souboru
Ten less je možná chyba lessu, neřídil bych se tím. V putty dost záleží na tom, jak máš nastavené fonty, překódovávání, etc., bez toho těžko říci. Asi zkus použít find | enca a uvidíš, co to vypíše.
18.1.2004 10:12 zdenek
Rozbalit Rozbalit vše diakritika v nazvu souboru
no tak kdyz dam find | enca tak mi to napise enca: Cannot determine (or understand) your language preferences. Please use `-L language', or `-L none' if your language is not supported (only a few multibyte encodings can be recognized then). kdyz dam find | enca -L none tak mi to napise Unrecognized encoding a kdyz dam find | enca -L czech tak mi to napise ISO 8859-2 Standard ISO Latin 2 no ale kdyz dam enca tak mi to napise vzdy Unrecognized encoding
18.1.2004 10:19 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše diakritika v nazvu souboru
Mh. Z tohohle to vypadá, že jednak jména souborů jsou pravděpodobně v pořádku a jednak nemáš vůbec nastavené české locales, ani LC_CTYPE, což vysvětluje, že se ti špatně zobrazují české znaky.
18.1.2004 10:36 zdenek
Rozbalit Rozbalit vše diakritika v nazvu souboru
no do locales.gen sem cestinu pridal (a spustil locales-gen), ale LC_CTYPE to teda nevim
18.1.2004 10:40 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše diakritika v nazvu souboru
Co ti vypíše příkaz locale? Přinejmenším LC_CTYPE musí být czech, cs_CZ nebo něco v tom smyslu (jsou to proměnné prostředí).
18.1.2004 10:43 zdenek
Rozbalit Rozbalit vše diakritika v nazvu souboru
vsechno POSIX, zkusim to zmenit
18.1.2004 10:41 zdenek
Rozbalit Rozbalit vše diakritika v nazvu souboru
jj, to LC_* jsem nenastavoval pac jsem nechtel aby pak na me debian mluvil cesky.
18.1.2004 10:45 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše diakritika v nazvu souboru
,Mluvení` česky ovlivňuje LC_MESSAGES -- přečti si locale(7).
18.1.2004 11:03 zdenek
Rozbalit Rozbalit vše diakritika v nazvu souboru
supr. vypada to ze to zabralo. moc dekuju
18.1.2004 14:38 zdenek
Rozbalit Rozbalit vše diakritika v nazvu souboru
odvolavam. nezabralo to. teda v sambe ne. V smb.conf mam character set = ISO8859-2 client code page = 852 a nefakci to. z win jsou ty nazvy porad necitelny.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.