#3498 HIGH First D: vfat filesystems should be mounted with "utf8" option
Zarro Boogs per Child
bugtracker at laptop.org
Sun Sep 23 01:48:19 EDT 2007
#3498: vfat filesystems should be mounted with "utf8" option
-------------------------------+--------------------------------------------
Reporter: khaled | Owner: J5
Type: defect | Status: new
Priority: high | Milestone: First Deployment, V1.0
Component: journal-activity | Version:
Resolution: | Keywords:
Verified: 0 |
-------------------------------+--------------------------------------------
Comment(by AlbertCahalan):
I just checked the kernel code. In the general world-wide case, three
options are required simultaneously. The result is still mildly defective.
With "iocharset=utf8", the filesystem becomes case-sensitive. Maybe this
would not be noticed by a GUI user though, and anyway it is expected for
Linux filesystems.
With "utf8", the kernel does special-case UTF-8 code. Case conversion is
still based on the iocharset. (default: Latin-1) There is a FIXME comment
in the kernel source, because this situation is terribly broken.
AFAIK there is no case distinction in Arabic, so either choice should be
fine...? Languages in Latin-1 are probably best served by "utf8
codepage=850". Languages in Latin-2 are probably best served by "utf8
iocharset=iso8859-2 codepage=852". You can see where this is going...
Essentially there is a kernel bug. Linux only handles case conversion for
8-bit character sets. You will pick one, possibly the default of
"iocharset=iso8859-1" for Latin-1. Picking utf8 ("iocharset=utf8")
disables case conversion, making the filesystem case-sensitive. Picking
something other than utf8 will allow case insensitivity FOR 256
CHARACTERS. You can not get case-insensitivity to work simultaneously for
Russian and Greek.
I suggest using the Python equivalent of gettext("utf8") or gettext("utf8
iocharset=utf8"). (use a translatable string) The first choice makes
Latin-1 special; the second choice makes everything case-sensitive. In the
Greek *.po file, translate that string to "utf8 codepage=737
iocharset=iso8859-7". For each language, do likewise.
--
Ticket URL: <https://dev.laptop.org/ticket/3498#comment:5>
One Laptop Per Child <https://dev.laptop.org>
OLPC bug tracking system
More information about the Bugs
mailing list