Hi,

At Thu, 1 Feb 2001 16:14:22 +0100 (CET),
Bruno Haible <[EMAIL PROTECTED]> wrote:

> This is a mistake. Users use terminals and 'ls' to see and manipulate
> their files. The file name, as passed from/to the kernel, must be in
> the user's locale encoding.

I think filename's identity is important because it guarantees the
identity of the file.  Thus, the name of a file should be same
regardless of locales.  

You mean, parameters for fopen(), open() and so on should be locale
encoding.  Then, how about physical record in the filesystems?
I mean, there are two possibilities:
(1) filesystems have their own encodings.  It may be UTF-8 or others.
It doesn't depend on users' locales.  Kernel, or filesystem driver,
has to convert it into locale encodings.  For example, fat32 filesystem
adopts UCS-2 (or UTF-16?).
(2) names are recorded in the filesystems in the locale encodings.
Kernel doesn't need to have encoding converter.  However, identity
of filenames may be spoiled.

and other possibilities are:
(3) Parameters for fopen(), open() and so on shall be UTF-8.
Application softwares need to convert encodings.  Thus, kernel doesn't
need converter.
(4) UTF-8 is used for filesystem and the library has converter.
However, this is the worst idea because fopen() will have locale-encoding
parameter while open() will have UTF-8.


I think (1) is the best solution, if possible.

---
Tomohiro KUBOTA <[EMAIL PROTECTED]>
http://surfchem0.riken.go.jp/~kubota/
"Introduction to I18N"
http://www.debian.org/doc/manuals/intro-i18n/
-
Linux-UTF8:   i18n of Linux on all levels
Archive:      http://mail.nl.linux.org/lists/

Reply via email to