Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
From: richlv at nakts dot net Date: Sat, 08 Sep 2012 14:54:04 +0000 Subject: Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names References: 1 Groups: php.bugs Request: Send a blank email to php-bugs+get-173251@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=18556&edit=1
ID: 18556
Comment by: richlv at nakts dot net
Reported by: spud at nothingness dot org
Summary: Setting locale to 'tr_TR' lowercases class names
Status: Closed
Type: Bug
Package: Scripting Engine problem
Operating System: Linux (RedHat 7.2)
PHP Version: 5CVS, 4CVS (2005-10-04)
Assigned To: stas
Block user comment: N
Private report: N
New Comment:
hmm, i just tested trunk snapshot php-trunk-201209081330 which announces itself as 5.4.8-dev
trying to use turkish locale still fails with :
Fatal error: Class 'CInput' not found
(there's uppercase I in the name)
what am i doing wrong ?
Previous Comments:
------------------------------------------------------------------------
[2012-09-08 14:25:15] richlv at nakts dot net
which version is expected to have the fix ? looking at snapshots, is it trunk only (thus php 5.5 or
whichever will be the next version) ?
interesting bit - this bug was fixed just 9 days short of it's 10th birthday ;)
(submitted 2002-07-25, fixed 2012-07-16)
------------------------------------------------------------------------
[2012-07-16 14:21:36] me at ollieread dot com
I don't know how helpful this will be, but I've recently had an issue with the
Turkish locale where I work.
I tried lots of different methods, but the main issue seems to be with LC_CTYPE,
as although class/method declarations include I, it's added to the stack as i.
I've wrote a couple of fixes that hopefully approach all cases, be warned, they
are however a bit hacky.
http://codeosaur.us/2012/07/16/php-and-the-tr_tr-utf8-locale/
You can simple explicitly set LC_CTYPE to your native language(eg en_US.utf8),
but if you absolutely must have tr_TR.utf8 there, then you can use the magic of
__autoload(), __call() and class_alias to handle it for you.
Hope this helps.
------------------------------------------------------------------------
[2012-07-14 22:59:37] stas@php.net
This bug has been fixed in SVN.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
For Windows:
http://windows.php.net/snapshots/
Thank you for the report, and for helping us make PHP better.
Fixed in master.
------------------------------------------------------------------------
[2012-07-04 08:52:28] maarten@php.net
@ stormbyte, I just made 2 separate more explicit tests, one for tr_TR.iso8859-9 and one for
tr_TR.UTF-8 and they do have the same outcome:
tr_TR.iso8859-9 - http://3v4l.org/o5YCk
tr_TR.UTF-8 - http://3v4l.org/F2gEb
3v4l.org uses a 'vanilla' PHP setup, be free to play with phpinfo() and the likes to see
for yourself.
------------------------------------------------------------------------
[2012-07-03 17:05:03] stormbyte at gmail dot com
The problem:
<?php
setlocale(LC_ALL, 'tr_TR.UTF-8');
echo strtolower('THIS IS JUST A TEST');
?>
output:
thIs Is just a test
So if it is using the same function internally to do the tolower on class names, it will not find
them.
A workarround would be use toupper instead of tolower in zend_internal namespace handling, despite
the correct fix would be to use independent identifyers (??)
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=18556
--
Edit this bug report at https://bugs.php.net/bug.php?id=18556&edit=1
Thread (68 messages)
- Bug #18556 Updated: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 Updated: Setting locale to 'tr_TR' lowercases class names
- #18556 [Dup->Fbk]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Fbk->Ver]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Ver->Ctl]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Ctl->Csd]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Csd->Opn]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Opn->Asn]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Asn->Fbk]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- #18556 [NoF->Asn]: Setting locale to 'tr_TR' lowercases class names
- #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Asn]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Asn->Csd]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Csd]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Csd]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Csd]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Csd]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Csd]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Csd]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
- Bug #18556 [Csd]: Setting locale to 'tr_TR' lowercases class names
| « previous | php.bugs (#173251) | next » |
|---|