On Wed, May 13, 2009 at 11:59:04AM +0200, Toni Mueller wrote:

> Hi Otto,
> 
> thanks for the quick answer.
> 
> On Wed, 13.05.2009 at 10:50:37 +0200, Otto Moerbeek <o...@drijf.net> wrote:
> > On Wed, May 13, 2009 at 10:35:25AM +0200, Toni Mueller wrote:
> > > fd = open(filename_with_utf8_characters);
> > > 
> > > succeed on a standard OpenBSD disk (FFS, if I'm not mistaken), using
> > > open(2) and fopen(3).
> > 
> > OpenBSD does not restrict or interpret filenames in any way, apart
> > from the obvious: / and NUL are not allowed in filenames.
> 
> I guess, but don't know, that NUL is not part of any UTF-8 character...
> 
> > So we accept funny chars in filenames, but do nothing special with them.
> 
> Ok, that sounds great for a start. It means that the user can do
> whatever he likes, in terms of weird filenames.
> 
> > > I'm currently debugging a third-party application that happens to want
> > > to use UTF-8 filenames, but doesn't seem to find them, and, FWIW, the
> > > file names I get with "ls" are ISO-Latin-1 encoded, anyway.
> > I suppose hwta you are seeing depends on your terminal.
> 
> Erm... I did:
> 
> ls -al | od -c > ls-output.txt

show me what filename you constructed (and how you did that) and the
contents of ls-output.txt. I prefer hexdump -C, btw.

        -Otto


> 
> and looked at that to determine what was on the file system, because
> I've been bitten by weird encoding problems often enough already.
> This way I determined that the special chars were indeed Latin1
> encoded. Just saying 'ls -al' would only yield blanks in the offending
> places, and otherwise only tends to garble my display.
> 
> > The kernel and base utilities encode nothing. Some utilities might
> > protect funny chars being printed on a terminal (e.g. see ls -q).
> 
> Thanks for the hint.
> 
> > The kernel and libc do not do any encoding or decoding. What third
> > part libs and applications do, who nows.
> 
>  ;)
> 
> 
> Kind regards,
> --Toni++

Reply via email to