[1.7] Proposal: the filename encoding in C locale uses UTF-8 instead of SO/UTF-8

Corinna Vinschen corinna-cygwin@cygwin.com
Thu May 14 13:26:00 GMT 2009

On May 14 21:39, IWAMURO Motonori wrote:
> 2009/5/14 Corinna Vinschen <corinna-cygwin@cygwin.com>:
> >> > Should the following part not be modified?
> >> >
> >> > winsup/cygwin/fhandler_console.cc:
> >> > > dev_state->con_mbtowc = __mbtowc;
> >> > > dev_state->con_wctomb = __wctomb;
> >>
> >> I'd rather not.  It only affects the console and if LANG=C I'd rather
> >> see the single bytes which make up the path instead of the corresponding
> >> UTF-8 character.
> >
> > Hm, maybe I misunderstood.  In which manner should this be modifed?
> I think:
> dev_state->con_mbtowc = __mbtowc == __ascii_mbtowc ? __utf8_mbtowc : __mbtowc;
> dev_state->con_wctomb = __wctomb == __ascii_wctomb ? __utf8_wctomb : __wctomb;

Oh, ok.  So I understood right.  But that's exactly what I didn't want
to do.  The idea is that, even though UTF-8 is used for the filename
conversion, the console should default to standard ASCII behaviour,
unless you specify another charset before starting the first Cygwin
process in the console.

I'm also wondering if we should perhaps only allow either ASCII or
UTF-8 as console charsets, but for now I don't want to touch this
more than necessary.  I just found that the console I/O doesn't work
well for non-ASCII chars anyway.  The core function which echos input
to the terminal only handles singlebyte chars, which can be easily
reproduced using copy/paste.  Oh well.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

More information about the Cygwin mailing list