Edit report at https://bugs.php.net/bug.php?id=18556&edit=1

 ID:                 18556
 Comment by:         stormbyte at gmail dot com
 Reported by:        spud at nothingness dot org
 Summary:            Setting locale to 'tr_TR' lowercases class names
 Status:             Assigned
 Type:               Bug
 Package:            Scripting Engine problem
 Operating System:   Linux (RedHat 7.2)
 PHP Version:        5CVS, 4CVS (2005-10-04)
 Assigned To:        dmitry
 Block user comment: N
 Private report:     N

 New Comment:

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 (??)


Previous Comments:
------------------------------------------------------------------------
[2012-07-03 16:53:08] stormbyte at gmail dot com

maar...@php.net:
They don't seem to be running vanilla PHP installations.
I've compiled php-5.4.4 from Gentoo and do not appear to be fixed to me, even 
in 5.4.4.

Can you try on a vanilla PHP?

------------------------------------------------------------------------
[2012-07-03 16:42:22] stormbyte at gmail dot com

It is not fixed in 5.4.4 as some stated above.
Tested with php 5.4.4
Testcase:
<?php
echo 'Starting...<br />';
$class = 'PharFileInfo';
echo 'Locale: '.setlocale(LC_ALL, '0')."<br />";
echo "$class exists? ".var_export(class_exists($class), true)."<br />";
echo 'Locale: '.setlocale(LC_ALL, 'tr_TR.UTF-8')."<br />";
echo "$class exists? ".var_export(class_exists($class), true)."<br />";
>?

Output with nginx+spawnFCGI:
Starting...
Locale: C
PharFileInfo exists? true
Locale: tr_TR.UTF-8
PharFileInfo exists? false

Output with cli (php -f test.php):
Starting...<br />Locale: C<br />PharFileInfo exists? true<br />Locale: 
tr_TR.UTF-8<br />PharFileInfo exists? false<br />

------------------------------------------------------------------------
[2012-07-03 09:58:31] maar...@php.net

Appears to be fixed since >= 5.4.0
See http://3v4l.org/lahi5 for proof:
---
Output for 5.4.0 - 5.4.4
    Instantiating an infoBlob with a lowercase i<br>Foo<br>Instantiating an 
InfoBlob with an uppercase I<br>Foo

Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.14
    Instantiating an infoBlob with a lowercase i<br>Foo<br>Instantiating an 
InfoBlob with an uppercase I<br> Fatal error: Class 'InfoBlob' not found in 
/in/lahi5 on line 25
    Process exited with code 255.
---
 Can't find it in the changelogs though.

------------------------------------------------------------------------
[2012-07-03 09:02:01] shevegen at gmail dot com

There are other languages one could use, other than PHP.

------------------------------------------------------------------------
[2012-07-02 11:42:50] bobx at bob dot com

hahaha yeah PHP is garbage

------------------------------------------------------------------------


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

Reply via email to