SOLVED: Removed 1.5.25 and installed 1.7.0, but still cannot access filenames containing Unicode

Andy Koppe andy.koppe@gmail.com
Sat Oct 31 20:33:00 GMT 2009


2009/10/31 Steven Monai:
>> That's the problem.  The character in that file is *not* U+0323, but
>> U+f020, a character in the Unicode private use range, which is used in
>> Cygwin to map ASCII characters invalid in Windows filenames but valid
>> in POSIX filenames.  It's also used to map multibyte characters > 0x80
>> which are invalid in the current charset.
>
> Thanks for diagnosing my problem. My assumption that the char was U+0323
> was based on scrolling through the Windows Character Map app for
> something that visually matched what I was seeing in the filename. Not
> having any other way to quantify the char, I jumped to an incorrect
> conclusion.

Any idea how that U+f020 character had got in there in the first place?

>> You must not use characters
>> in this range from U+f000 up to U+f0ff.  There's no solution to this
>> except for "don't use these characters in filenames if they are not
>> explicitely written there by either Cygwin or Microsoft's SUA".

Actually there is a possible solution: when translating a U+F0xx
character, first check whether the xx byte really is illegal in the
target charset. If it's not, it won't roundtrip correctly, so encode
the U+F0xx as a ^X sequence instead. Doesn't seem worth the effort
though.

Andy

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



More information about the Cygwin mailing list