[Bug 191540] the FAT32 implementation bugs out on Unicode file names

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Jul 2 04:50:22 UTC 2014


Jamie Landeg-Jones <jamie at dyslexicfish.net> changed:

           What    |Removed                     |Added
                 CC|                            |jamie at dyslexicfish.net

--- Comment #3 from Jamie Landeg-Jones <jamie at dyslexicfish.net> ---
With unix filesystems, slap out any 'binary' characters in a filename and they
will be recorded 'as is'.

So, when you do an 'ls', the filename data is preserved so that if it was
originally a UTF-8 encoded name originally, it will still be a UTF-8 name, and
displayed correctly on a UTF-8 terminal.

msdos file systems don't work this way, and translate the filenames before
storing. If the msdos filesystem doesn't know what the original character set
is,  it won't be coded correctly, and subsequently won't be displayed

You therefore need to tell it on mount what character set you are using, with
the -L option:

-L locale
             Specify locale name used for file name conversions for DOS and
             Win'95 names.  By default ISO 8859-1 assumed as local character

Your test filenames are in UTF-8 fornat, so if you repeat your exercise, but
instead mount the partition with:

mount_msdosfs -L en_GB.UTF-8 /dev/md7 fat

, then everything will work as expected.

.... You are attempting to

You are receiving this mail because:
You are the assignee for the bug.

More information about the freebsd-bugs mailing list