Bug #35050 [Com]: Capital "I" letters in func/class method names do not work with turkish locale

[email protected] ("sweiss at stylesight dot com")
Newsgroups php.bugs
Message-ID <[email protected]>
Edit report at http://bugs.php.net/bug.php?id=35050&edit=1

 ID:               35050
 Comment by:       sweiss at stylesight dot com
 Reported by:      satanistlav at mail dot ru
 Summary:          Capital "I" letters in func/class method names do not
                   work with turkish locale
 Status:           Wont fix
 Type:             Bug
 Package:          Scripting Engine problem
 Operating System: Linux
 PHP Version:      5CVS-2005-11-01 (cvs)

 New Comment:

Requesting a fix for this... this has been going on for almost 5 years,
yet the 
proper fix for the problem also only takes that many lines of code,
according to 
a different bug report, which was rejected on a technicality.   The
"workaround" 
suggested means that none of my turkish is capitalized correctly.  This
is 
really not going over well.  Please, please, please, at least make the
fix 
listed in Bug #35050 an option that we can set in the php.ini or ideally
with 
ini_set or *something*, if it causes problems for other programmers, and
if it 
doesn't, can it just be fixed already?  It is not going to be pretty
when I have 
to go tell them that the turkish translation they've made is going to be

permanently crippled until PHP 6 is released, and our code is updated to
support 
it... and it looks like PHP 6 just went back to square one so this could
be 
quite a long time.


Previous Comments:
------------------------------------------------------------------------
[2007-09-06 11:22:42] [email protected]

Patch by Tomas Kuliavas:
http://www.topolis.lt/php/#35050


------------------------------------------------------------------------
[2005-11-15 13:39:07] [email protected]

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] [email protected]

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)


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


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/bug.php?id=35050


-- 
Edit this bug report at http://bugs.php.net/bug.php?id=35050&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.