|
NTFS-3G in šumniki
|
Stevie Jabuk
| Pridružen/a: 21.03.2008 |
| Prispevkov: 457 |
|
|
 |
|
Prispevek: #1 Objavljeno 26.09.2008 10:29:14 NTFS-3G in šumniki |
|
Imam precej čudno težavo:
Na USB disku formatiranem na Windows XP (NTFS) imam shranjene datoteke, ki v imenih vsebujejo šumnike. Vse lepo in prav, odpirata jih tako PC kot Mac.
Težava pa se pojavi, ko z Macom kreiram na tem disku datoteko (ali mapo) s šumnikom (ali pa nanj kopiram eno iz lokalnega diska). V takem primeru Mac normalno vidi datoteko in jo lahko po mili volji urejam ali kopiram, težava pa nastane, ko to hočem počet na PCju.
Tam so šumniki pofedlani in če grem v Explorerju preimenovat datoteko vidim, da je npr. Š sestavljen iz dveh znakov: S in " (strešice). To sicer lahko popravim ampak je zamudno.
A ima kdo idejo, kako bi bili šumniki univerzalni?
|
 |
Stevie Jabuk
| Pridružen/a: 29.12.2007 |
| Prispevkov: 747 |
| Kraj: Ljubljana - Golo |
|
 |
|
Prispevek: #2 Objavljeno 26.09.2008 13:50:29 |
|
Nikoli ne dajat šumnikov v imena folderjev ali pa filejev. In ne boš imel problemov.
|
 |
Stevie Jabuk
| Pridružen/a: 08.08.2008 |
| Prispevkov: 767 |
| Kraj: Lavrica |
|
 |
|
Prispevek: #3 Objavljeno 26.09.2008 14:45:55 |
|
Podobna zadeva je na linux-ih...
|
 |
Stevie Jabuk
| Pridružen/a: 21.03.2008 |
| Prispevkov: 457 |
|
|
 |
|
Prispevek: #4 Objavljeno 26.09.2008 16:04:09 |
|
| scratintosh je napisal/a: | | Nikoli ne dajat šumnikov v imena folderjev ali pa filejev. In ne boš imel problemov. |
Aja? Kaj pa, če fajlov ne nardim jaz?
Verjetno bo najbolje, da v slovenščini kar ukinemo čšž. Halo, Toporišič?
|
 |
Stevie Wozniak
| Pridružen/a: 09.09.2007 |
| Prispevkov: 1175 |
| Kraj: Šempas (čez teden Ljubljana) |
|
 |
|
Prispevek: #5 Objavljeno 26.09.2008 17:14:35 |
|
Žal, tko je v UNiX svetu. Nekatere stvari so bile pač narejene samo z obzirom do angleščine. Šele v zadnjih časih se stvari premikajo na bolje, vendar je takšne stvari kot so datotečni sistemi težko kar tako spremenit. Že Terminal v OS X je tak primer. Šele trenutna verzija v Leopardu podpira tudi vnos drugih kodnih naborov, ne pa samo angleščine. V praksi pa je to tako kot vidiš.
|
 |
Stevie Jabuk
| Pridružen/a: 06.07.2008 |
| Prispevkov: 383 |
| Kraj: Celje |
|
 |
|
Prispevek: #6 Objavljeno 26.09.2008 18:53:03 |
|
Kolikor vem, je problem v različnih kodnih naborih znakov. Unix uporablja UTF-8, Windows pa windows-1250 v imenih datotek/map.
|
 |
Stevie Jabuk
| Pridružen/a: 08.08.2008 |
| Prispevkov: 767 |
| Kraj: Lavrica |
|
 |
|
Prispevek: #7 Objavljeno 26.09.2008 19:12:31 |
|
Vedno bo v tej domeni imela primat angleščina ker je pač svetovni jezik. Mene osebno to nič ne moti, ker me slovenski vmesniki enostavno odvračajo.
Sicer pa, če boš shranjeval datoke v unicode formatu na UNIX/LINUX sistemih, potem ne boš imel težav. Težave se pojavijo pri migraciji na windows sistema. Zaenkrat je še tako, vendar se veliko dela v tej smeri. Npr. linux sistem Ubuntu to že zelo dobro obvladuje....
Če se želiš znebiti teh nadležnosti, se enostavno odloči za en sistem. Kar je v današnjih časih nadvlade oken mogoče težko. Bo pa v prihodnosti še zanimivo.
|
 |
Stevie Jabuk
| Pridružen/a: 06.07.2008 |
| Prispevkov: 383 |
| Kraj: Celje |
|
 |
|
Prispevek: #8 Objavljeno 26.09.2008 20:03:53 |
|
OSi se bodo morali nekako standarizirati. Če recimo Windows ne bi "tečnaril" z windows-1250, bi se Unicode lahko bolje uveljavil.
Če bo na trgu več operacijskih sistemov, se bodo nekako morali strinjati pri določenih stvareh.
Podoben primer so sistemske datoteke, recimo na kakšen USB ključu. Windows jih označi kot sistemske in jih zato ne prikazuje v Explorerju. *NIX sistemi jih pa seveda vidijo.
*NIX sistemi uporabljajo dot files/folders in jih *NIX sistemi ne prikažejo, Windows jih pa.
Vzameš USB ključ, ga vklopiš v Windows mašino in vidiš .Trash, ..., priklopiš na npr. Maca in vidiš desktop.ini in podobno.
To bi morali standarizirati.  In seveda še veliko več, ampak to se seveda ne bo zgodilo.
|
 |
Stevie Wozniak
| Pridružen/a: 09.09.2007 |
| Prispevkov: 1175 |
| Kraj: Šempas (čez teden Ljubljana) |
|
 |
|
Prispevek: #9 Objavljeno 27.09.2008 00:10:52 |
|
Solution -> Trash Windows 
|
 |
Stevie Jabuk
| Pridružen/a: 08.08.2008 |
| Prispevkov: 767 |
| Kraj: Lavrica |
|
 |
|
Prispevek: #10 Objavljeno 27.09.2008 06:29:26 |
|
| Blackrider je napisal/a: | Solution -> Trash Windows  |
Najbolj enostavna rešitev... 
|
 |
Stevie Jabuk
| Pridružen/a: 21.03.2008 |
| Prispevkov: 457 |
|
|
 |
|
Prispevek: #11 Objavljeno 28.09.2008 10:00:15 |
|
| Blackrider je napisal/a: | Solution -> Trash Windows  |
Ko bi le blo tako enostavno ...  Pa ni.
Ok, torej če povzamem: Trenutno ni variante, da bi šumniki narejeni na macu (ali linuxu) delali na XPjih. In očitno ni nobenega heka, ki bi to omogočil.
Je pa zanimivo, ko pravite, da Windowsi snemajo v cp1250. Kot sem preveril, to sploh ne drži. Namreč če NTFS disk priklopim na XPje, ki nimajo pojma o 1250 (npr Ruski ali Japonski; pa ne me narobe razumet, podpora za cp1250 ni vklopljena, čeprav jo sistem pozna) se šumniki na teh sistemih vseeno pokažejo v datotečnem sistemu.
Malo sem gledal, pa kot kaže NTFS-3G zapisuje v UTF8, a mogoče obstaja kak hek, da bi vklopil goli Unicode?
@borut-t: Glede na to, da sva iz istega konca, a bi šla na en pir? Da mi malo razložiš te sistemske finte. 
|
 |
Jabi
| Pridružen/a: 01.10.2008 |
| Prispevkov: 3 |
|
|
 |
|
Prispevek: #12 Objavljeno 01.10.2008 20:22:17 |
|
| blazo je napisal/a: | | Blackrider je napisal/a: | Solution -> Trash Windows  |
Ko bi le blo tako enostavno ... Pa ni.
Ok, torej če povzamem: Trenutno ni variante, da bi šumniki narejeni na macu (ali linuxu) delali na XPjih. In očitno ni nobenega heka, ki bi to omogočil.
|
Seveda je varianta, locale je treba nastavit na UTF-8 pa bo. Na Linuxu imam nastavljen en_US.utf8, mountan disk preko NTFS-3G (brez kakšnih posebnih parametrov) in deluje vse brez problemov - šumniki na Linuxu in XPjih. Na OSXu bi moralo bit enako, poglej man page od locale(1).
Poglej še na http://www.ntfs-3g.org/support.html#locale tam omenjajo locale opcijo, ki naj bi jo NTFS-3G uporabil pri mount-u (fstab).
|
 |
Stevie Jabuk
| Pridružen/a: 21.03.2008 |
| Prispevkov: 457 |
|
|
 |
|
Prispevek: #13 Objavljeno 02.10.2008 09:07:58 |
|
| matevzb je napisal/a: | | Seveda je varianta, locale je treba nastavit na UTF-8 pa bo. |
Nisi razumel....  UTF8 je 8 bitno kodiranje Unicode karakter seta. Unicode pa je sam po sebi 16 biten.
Mene še vedno zanima 16 bitno zapisovanje v datotečni sistem.
|
 |
Jabi
| Pridružen/a: 01.10.2008 |
| Prispevkov: 3 |
|
|
 |
|
Prispevek: #14 Objavljeno 02.10.2008 13:17:20 |
|
| blazo je napisal/a: | | matevzb je napisal/a: | | Seveda je varianta, locale je treba nastavit na UTF-8 pa bo. |
Nisi razumel.... UTF8 je 8 bitno kodiranje Unicode karakter seta. Unicode pa je sam po sebi 16 biten.
Mene še vedno zanima 16 bitno zapisovanje v datotečni sistem. |
Mogoče nisem dobro obrazložil. Najprej: UTF8 je kodiranje, Unicode pa sam po sebi ni 16 biten. Windows Unicode je sicer ena od implementacij, ki pa uporablja UTF-16, gre pa se vedno za encoding.
Windowsi zapisujejo fajle v NTFS-Win32, NTFS-3G pa jih zapisuje po NTFS-POSIX formatu, ampak *imena* fajlov bi pa še vedno morala biti v UTF-16 (lahko da se motim, ampak ne vem, kako bi drugače sploh kaj delalo).
Ko narediš nov fajl pod Linux/OSx-om, se ime fajla skonvertira iz trenutnega codepage-a v UTF-16 in tukaj imaš po mojem problem. Če si nastaviš locale na UTF-8 ali pa npr. na slovenski codepage, bi se morali fajli pravilno kreirat (jaz sicer preferiram UTF8, ker potem nisi omejen na določen codepage)
Upam da sem bil tokrat bolj razumljiv 
|
 |
Jabi
| Pridružen/a: 01.10.2008 |
| Prispevkov: 3 |
|
|
 |
|
Prispevek: #15 Objavljeno 02.10.2008 13:24:52 |
|
| matevzb je napisal/a: |
Windowsi zapisujejo fajle v NTFS-Win32, NTFS-3G pa jih zapisuje po NTFS-POSIX formatu, ampak *imena* fajlov bi pa še vedno morala biti v UTF-16 (lahko da se motim, ampak ne vem, kako bi drugače sploh kaj delalo). |
No, še košček kode iz NTFS-3G driverja:
static int ntfs_fuse_create(const char *org_path, dev_t type, dev_t dev,
const char *target)
{
[....]
/* Generate unicode filename. */
name = strrchr(path, '/');
name++;
uname_len = ntfs_mbstoucs(name, &uname);
[....]
Funkcija pa počne tole:
ntfs_mbstoucs - convert a multibyte string to a little endian Unicode string
|
 |
Stevie Jabuk
| Pridružen/a: 21.03.2008 |
| Prispevkov: 457 |
|
|
 |
|
Prispevek: #16 Objavljeno 30.01.2009 11:35:33 |
|
Zadeva je z verzijo NTFS-3G 2009.1.1 popravljena.
Aleluja! 
|
 |