ext2 - ékezetes, UTF8 filenevek - Debian+WinXP - HOGYAN?

Fórumok

ext2 - ékezetes, UTF8 filenevek - Debian+WinXP - HOGYAN?

Hozzászólások

Sziasztok!

A következő lenne a problémám. Ékezetes, magyar nevű file-okat is tartalmazó NTFS partíciómat akarom átmigrálni ext2-re. Szeretném azt, hogy az ékezetes filenevek mind Debian, mind WinXP alatt is ugyanúgy látsszanak ext2-nél! Ha a kérdéses, migrálandó NTFS partíciót mountolom Linux alatt, akkor persze az ékezetes filenevekkel semmi gond nincs. Eddig az alábbiakat próbáltam a Linux alatt létrehozott és M$Win alatt ext2fsd-vel mount-olt ext2 filerendszeren:
- WinXP alól ékezetes nevű file másolás az ext2 partícióra és ellenőrzés Linux alatt
- fordítva, azaz: Linux alól ékezetes nevű file másolás az ext2 partícióra és ellenőrzés WinXP alatt

Mindkét esetben rosszul, nem megfelelően dekódolva jönnek be a filenevek. Ugyanaz a file máshogyan néz ki "rosszul" WinXP és Linux alatt.

Azt hiszem, hogy írnom se kell, hogy Debian-ban több locale beállítást is próbáltam: en_US.UTF-8, hu_HU.UTF-8, hu_HU.ISO-8859-2. Próbáltam még WinXP alatt a következő Registry beállítást is, de nem segített:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Ext2Fsd\Parameters] "CodePage" = "utf8"

Ötleteket, javaslatokat nagyon szívesen vennék, mert itt elfogyott a lendület.

Köszi!

- waiter -

Szia,

[code:1:dab6a86f5b]
Mount options for ntfs
iocharset=name
Character set to use when returning file names. Unlike VFAT,
NTFS suppresses names that contain unconvertible characters.
Deprecated.

nls=name
New name for the option earlier called iocharset.

utf8 Use UTF-8 for converting file names.

uni_xlate=[0|1|2]
For 0 (or ‘no’ or ‘false’), do not use escape sequences for
unknown Unicode characters. For 1 (or ‘yes’ or ‘true’) or 2,
use vfat-style 4-byte escape sequences starting with ":". Here 2
give a little-endian encoding and 1 a byteswapped bigendian
encoding.

posix=[0|1]
If enabled (posix=1), the file system distinguishes between
upper and lower case. The 8.3 alias names are presented as hard
links instead of being suppressed.

uid=value, gid=value and umask=value
Set the file permission on the filesystem. The umask value is
given in octal. By default, the files are owned by root and not
readable by somebody else.
[/code:1:dab6a86f5b]
Ha jol sejtem neked az iocharset= opcio lehet erdekes, vagy az utf8. Nalam NTFS-nel es fat32-nel a kovetkezo mukodott/mukodik:
mount /dev/sdb1 /mnt/usb -o iocharset=utf8

Mik

Igen, ez mind igaz NTFS-re, de ext2-nél sajnos nincs iocharset opció. Azért köszi! ;)

[quote:2291e86d32="waiter"]Igen, ez mind igaz NTFS-re, de ext2-nél sajnos nincs iocharset opció. Azért köszi! ;)

Nem azért nincs, mert lusta volt valaki, hanem azért, mert nem volna értelme.

A Windows és Linux filozófiája lényegesen eltérő. A Windows szerint a fájlnevek karakterek sorozatai, egy karakter egy ékezetes betű vagy speciális írásjel (pl. kanji) vagy bármi ilyesmi. A Linux szerint a fájlnevek bytesorozatok. A két világ között valami karakterkészlet (Latin2, UTF-8 ) stb. szerint lehet konvertálni, és kell is ha Windows fájlrendszert olvasol/írsz Linux alatt, viszont ha Linux fájlrendszert írsz/olvasol Linux alatt, akkor nincsen honnan és nincsen hova és nincs mit konvertálni.

A nagy kérdés az, hogy Windows alatt milyen programmal olvasod a Linux fájlrendszerét és az a program milyen ékezetkódolást feltételez a Linux fájlrendszere részéről. Most látom hogy ezt megírtad, hát, nem ismerem a progit, de ha olyan karakterkészletet adsz meg neki, amilyet tényleg használsz Linux alatt, és mégsem látod jól, akkor ez a progi a bugos.

Köszi a javaslatokat! Akit még erdekel, a verzió (v0.25), amit használtam az tényleg bugos volt codepage ügyben. Nem vette be a Registry beállításomat. A honlapon eldugva meg is találtam, hogy ezt már bugreportolták is. A 0.24-es verziót raktam fel és ez már jól dekódolja az utf-8-at.

:P

- waiter -