Re: php can't resolve 8.3 paths to unicode filenames, is that expected ?
| From: | Lester Caine | Date: | Sun, 18 Aug 2013 21:15:16 +0000 |
| Subject: | Re: php can't resolve 8.3 paths to unicode filenames, is that expected ? | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Groups: | php.windows |
| Request: | Send a blank email to php-windows+get-31139@lists.php.net to get a copy of this message | ||
R. S. wrote:
Pierre I'm fairly sure that the 'wide string' codes get miss read and give invalid unicode for what should be three byte blocks of codes. At the time I hit it I was only using Borland C on Windows, but it sounds like the same problem I hit when trying to port a system for a Greek customer. We ended up keeping 'english' file names but storing greek text :( RS - It's not specifically a PHP bug as Pierre has indicated, you are just lucky not to hit other manifestations of the problem. -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk Rainbow Digital Media - http://rainbowdigitalmedia.co.ukRS ... Just out of curiosity does the problem ranges of alphabets fall outsideof the limited 'UTF16' range that M$ uses for 'wide strings'. I'm busy out at an exhibition this weekend so only have limited access to my database, but I do seem to recall that since wide strings are only 16 bit based, any character area going into the 24bit region (3 byte) is not supported. I don't know. But it should be irrelevant since php interpreter doesn't see any of the non-ascii chars when given short path. But anyway... Greek and Cyrylic letters are in the 3 byte range ? I thought that only applies to CKJ chars. My memory is not as good as it once was, but I thought Greek was one of the areas I had trouble with windows a few years back. I think at the time the problem was that windows maps them to a different area using the 'spare' bit so they are not the same characters as returned by unicode but applications have nothing to indicate they are different.