#35050 [WFx]: Capital "I" letters in func/class method names do not work with turkish locale
| From: | jani@php.net | Date: | Thu, 06 Sep 2007 11:22:43 +0000 |
| Subject: | #35050 [WFx]: Capital "I" letters in func/class method names do not work with turkish locale | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-117226@lists.php.net to get a copy of this message | ||
ID: 35050
Updated by: jani@php.net
Reported By: satanistlav at mail dot ru
Status: Wont fix
Bug Type: Scripting Engine problem
Operating System: Linux
PHP Version: 5CVS-2005-11-01 (cvs)
New Comment:
Patch by Tomas Kuliavas:
http://www.topolis.lt/php/#35050
Previous Comments:
------------------------------------------------------------------------
[2005-11-15 13:39:07] derick@php.net
We discussed it and this will not be addressed in PHP 5, but only from
PHP 6 and higher. Please make sure your set the correct locale before
starting the script - or before including files that define elements
that contain upper case I's.
------------------------------------------------------------------------
[2005-11-01 15:17:54] satanistlav at mail dot ru
I have uploaded your code to the server and I still have the same
error! http://www.yda.com.tr/test.php
------------------------------------------------------------------------
[2005-11-01 15:14:14] satanistlav at mail dot ru
I have multilingual site. Locales are set to en_US.ISO-8859-1 in
Enlgish side of the site and tr_TR.ISO-8859-9 in Turkish for LC_ALL
------------------------------------------------------------------------
[2005-11-01 15:12:29] derick@php.net
I can reproduce this with the following short script:
<?php
class foo
{
function IsHere()
{
echo "here\n";
}
}
echo setlocale(LC_ALL, 'tr_TR'), "\n";
$f = new foo();
$f->IsHere();
?>
(You need to have the tr_TR locale installed for this).
It does work properly with PHP 5.1 actually, and it has to to with the
zend_str_tolower() function which uses the tolower() libc call, which
uses the locale. As in Turkish the I does not lowercase to i you can get
weird things. This is why we should get rid of case insensitive function
names.
It also works with normal function names (instead of classes' methods)
------------------------------------------------------------------------
[2005-11-01 15:02:31] satanistlav at mail dot ru
http://www.yda.com.tr/info.php
------------------------------------------------------------------------
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
http://bugs.php.net/35050
--
Edit this bug report at http://bugs.php.net/?id=35050&edit=1