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] j...@php.net

Patch by Tomas Kuliavas:

http://www.topolis.lt/php/#35050



------------------------------------------------------------------------
[2005-11-15 13:39:07] der...@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] der...@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)



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


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

Reply via email to