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/