Re: [RFC PATCH] Windows: Assume all file names to be UTF-8 encoded.
From: Lars Noschinski <hidden>
Date: 2016-06-15 22:46:19
* Peter Krefting [off-list ref] [09-03-02 21:41]:
Indeed. It is unfortunate that this wasn't properly specified to start with. It's mostly a minor issue since *most* people will not use non-ASCII file names. At least for most of the kind of projects that Git have attracted so far, so the problem is not that big. The problem is if Git is to attract "the masses". Especially on Windows, where file names using non-ASCII are common, this needs to be addressed eventually.
Using no encoding for filenames was the obvious (and I would argue) correct choice. Unix filenames are specified to be a sequence of bytes, excluding '/' and '\0'. A lot of these sequences are not valid UTF-8. Further, the encoding needed for filenames depends on the encoding used in the source code for referencing these files. Again, for the unix file handling functions, this means no encoding. Changing the filename (on checkout), so that the user sees an Ü regardless of his or her locale (instead of an \0xDC, which only resolves to an Ü on latin-1) would be an absolutely broken concept here.
quoted
[*] I'm _extremely_ tempted to write "people using non-broken OSes", but let's pretend to be neutral for a second.In most cases, I would most definitely agree with you on calling it that, but when it comes to Unicode support, Windows is one of the least broken OSes (with Symbian being my favourite).
IMHO having encoding specific open functions is begging for problems. - Lars.