A fájlnevek zip archívumokban történő kódolása

Elég gyakran, ha megnyit egy linuxos archívumban tartalmazó fájlok és könyvtárak Cirill (és általában bármely nem-ASCII) nevek, úgy találta, hogy fájlnevek a rossz kódolás. Ha egy ilyen archívumot dekompresszál egy lemezre, akkor a lemezen található fájlok olvashatatlan nevekkel is beszerezhetők.

Ez akkor fordul elő, mert a különböző fájlrendszerek fájlnevek tárolása különböző kódolásokat, még az operációs rendszer dolgozni velük különböző módon, és a legtöbb tömörített formátumok nem biztosítja az adott charset: mi volt a csomagolás, hát legyen. Egyszerűen fogalmazva, történelmi okok miatt a fájlnevek kódolása az archívumban rendetlenség.

A probléma leggyakrabban a Windows alatt csomagolt ZIP fájlok esetén fordul elő. Valójában, TAR formátumban, GZIP, BZIP2 és még sokan mások is, hogy a hatálya alá tartozó, de gyakrabban Linux vagy más POSIX-kompatibilis platformok, és jelenleg szinte mindig egy és ugyanaz a kódolás - UTF-8, így a probléma nem fordul elő.

Ha ilyen archívumot kell kicsomagolni, akkor a megoldás nagyon egyszerű: meg kell adnod az archiválónak, hogy mi van a fájlnevekkel. A probléma az, hogy a grafikus interfésszel rendelkező közös archiválók nem rendelkeznek ilyen opcióval, a program a parancssorhoz általában (túlnyomórészt a dokumentációban rejlik). Ezért tanácsot adunk arról, hogyan kell ezt megtenni.

Ami magát a kódolást illeti, az UTF-16, vagy a CP1251, vagy (ritkán) a CP866-t kell elvárni.

Az archívum korrigált verziójához hozzáadjuk az adattárat:

Frissítjük a tárolókat és a csomagokat:

Ezután telepítse a következő csomagokat:

Most az archívumban található fájlok nevei a megfelelő kódolásban jelennek meg.

Miután újraépítette a zip-et és kibontotta az USE-flag natspec-t, minden működik önmagában. A szórakoztató rusxmms overlay-ben a 7-Zip archiváló GUI-vel rendelkező p7zip csomag áll rendelkezésre, ami szintén javítja a kódolást. A p7zip esetében engedélyeznie kell az USC flags rcc parancsot, amelyet szintén használnak az átfedés más csomagjain, például id3tag és mpg123.

Az oroszFedora-projektből lehet megvásárolni az unzip és libnatspec javításokat:

A Gnome 2 szerkesztéséhez

  1. Mi biztosítjuk a biztosíték-zip-et
  1. Hozzon létre egy könyvtárat /.ZIP
  1. A szkriptet írjuk:
  1. Végezze el, hogy futtatható legyen, és tegye például, ha a gnome be van kapcsolva /.gnome2/nautilus-scripts
  1. A ZIP-archívumok megnyitásához hozzárendeljük ezt a szkriptet

Hogyan csomagolja a fájlokat magát a problémák elkerülése érdekében Szerkesztés

Problémák nem lesz, ha az összes nevet a fájlok és könyvtárak az archívumban állhat kizárólag betűket, számokat, szóközöket, és az alapvető írásjeleket, kivéve egy perjel (/) - vágás a fájlnevek Linux alatt nem megengedett. Ha az archívum Windows alatt nyílik meg, akkor több tiltott karakter létezik: <.>. :. "/. \. |.? és * [1], de nem ajánlott Linux alatt fájlnevek alatt, mert a parancssorban mindezen karakterek különleges jelentéssel bírnak.

És nincs probléma a méret 7z (archív p7zip Linux / POSIX, 7-Zip Windows) vagy a Linux alatt a más rendszerekkel: fájl archiváló a csomag automatikusan újrakódolni összes fájlnevek UTF-8 és transcodes őket, ha kicsomagolás a rendszer helyi kódolásában. A formátum teljesen ingyenes és jó tömörítéssel, ezért ajánlott használni.

Általában nincsenek problémák a népszerű RAR formátummal, mert ott mindig a fájlnevek vannak kódolva az UTF-16-ban. De először is, hogy szabadalmaztatott: az ingyenes archiválók többé-kevésbé támogatják, de a formátum néhány verziójával nem képesek megbirkózni. Másodszor, vannak olyan jelentések, amelyek szerint néhány Linux-archiváló továbbra is kódolást használ a RAR használatakor. A 7z használata javasolt.

Érdemes megjegyezni, hogy a program zip Info-ZIP, használható a legtöbb disztribúció 3.0 verziótól létrehozásakor levéltár őrzi fájlnevek egyszerre két karakterkészlet: itt az, ami, és UTF-8. Az ilyen archívum problémamentesen kicsomagolható, és az archiváló régebbi verzióival való kompatibilitás nem sérül. De ez egyáltalán nem segít a más programok által létrehozott archívumok kicsomagolásakor. Valójában még a ZIP formátum specifikáció is tartalmazza azt a záradékot, hogy a fájlneveket kódolni kell a CP437 vagy az UTF-8-ban, de az archiváló fejlesztők gyakran figyelmen kívül hagyják ezt a pontot.

Kapcsolódó cikkek