3 ms·
Well, VB.NET is case insensitive yet the problem doesn’t crop up there because it’s not braindead enough to use the same locale while compiling & executing. Yes
by klmr 14y ago
Well, VB.NET is case insensitive yet the problem doesn’t crop up there because it’s not braindead enough to use the same locale while compiling & executing. Yes, I get that PHP code isn’t compiled in a separate step but there still is no reason for it to use a user-defined locale. It should use the C locale, end of story. I don’t understand why this isn’t trivial to fix. Is there any place where PHP depends on a user-defined locale for parsing?
EDIT: “trivial to fix” as in, doesn’t cause regression, not necessarily that it’s a small change to the code base.
- kalleboo 14y agoClass names can crop up during execution as well though. This is valid PHP: $classname = $row_I_got_from_mysql['classname']; $object = new $classname; I'm sure this can still be solved though. It's not trivial, but it's not "takes over 9 years to fix" complex either.
- rb12345 14y agoPHP could just use the approach NTFS uses on Windows and convert to upper case instead: http://blogs.msdn.com/b/michkap/archive/2004/12/02/273619.aspx http://blogs.msdn.com/b/michkap/archive/2004/12/02/273619.as...
- Xylakant 14y agoWhich would not help in this case, since in turkish the upper-case representation of `i` is not `I` but a different symbol. So the class you're looking for would not exist.
- rb12345 14y agoOops - looks like you're actually right there. For some reason, I thought I'd read that i and ı were both mapped to I.