Mombu the Php Forum sponsored links

Go Back   Mombu the Php Forum > Php > #35050 : Capital "I" letters in func/class method names do not work with turkish locale
User Name
Password
REGISTER NOW! Mark Forums Read

sponsored links


Reply
 
1 22nd April 06:19
External User
 
Posts: 1
Default #35050 : Capital "I" letters in func/class method names do not work with turkish locale



ID: 35050
Updated by: derick@php.net
Reported By: satanistlav at mail dot ru
-Status: Assigned
+Status: Suspended
Bug Type: Scripting Engine problem
Operating System: Linux
PHP Version: 5CVS-2005-11-01 (cvs)
Assigned To: dmitry
New Comment:

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.


Previous Comments:
------------------------------------------------------------------------

[2005-11-01 15:18:02] derick@php.net

Actually, PHP 5.1 gives the same broken result... but it works in 4.4.
Yes, we confirm there is a bug here - not sure how to fix it though)
Assigning to Dmitry for now. (Please don't switch the bug back to
"Open")

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

[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
  Reply With Quote


  sponsored links


Reply


Thread Tools
Display Modes




Copyright © 2006 SmartyDevil.com - Dies Mies Jeschet Boenedoesef Douvema Enitemaus -
666