[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: msdosfs mount options, short filenames, legacy codepages and utf-8 terminals



On Sun, Jun 11, 2006 at 01:48:47PM +0100, Jaime wrote:
> 
> I have a diskette, which I've formatted under Windows 2000, and on it
> I've created an empty file, called ABÇDE.TXT (the third letter is called
> a "LATIN CAPITAL LETTER C WITH CEDILLA", unicode codepoint U+00C7).

[...]

> Now I mount the diskette:
> ~# mount -t msdos -o codepage=850 /dev/fd0 mnt
> ~# ls mnt
> ab?de.txt

You need to specify also the encoding in which your system runs. From
the fact that you are using Ubuntu Dapper and you mention UTF-8
several times, I would guess you use UTF-8 environment. Therefore you
need to specify also the iocharset=utf-8 option to the mount command.

The problem is that msdos filesystem does not accept this option
(although the man page says the contrary).

> Interestingly, I can get to see the Ç if I mount the disk as vfat rather
> than msdos, but then I think what I'm really seeing is the long
> filename, not the short filename:
> ~# mount -t vfat -o iocharset=cp850,utf8 /dev/fd0 mnt
> ~# ls mnt
> ABÇDE.TXT

As you discovered, vfat accepts different set of options which handle
the magic of recoding.

Please ask upstream to add this option to the msdos kernel module or
fix the manpage.

-- 
Miroslav Kure



Reply to: