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 -
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
Igen, ez mind igaz NTFS-re, de ext2-nél sajnos nincs iocharset opció. Azért köszi! ;)
- A hozzászóláshoz be kell jelentkezni
[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.
- A hozzászóláshoz be kell jelentkezni
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 -
- A hozzászóláshoz be kell jelentkezni