ID: 19257
User updated by: gamid@isayev.net
Reported By: gamid@isayev.net
Status: Bogus
Bug Type: Strings related
Operating System: Linux
PHP Version: 4.2.2
New Comment:
The functions do not work in PHP 4.2.3 and latest snapshot.
Previous Comments:
------------------------------------------------------------------------
[2002-09-05 17:24:20] gamid@isayev.net
> Don't try to patch..you're not doing it right anyway.
:)
> Just pull the snapshot and try with it.
Ok
PHP: 20020307
PHP Extension: 20020429
Zend Extension: 20020903
Output:
loc = 'UTF-8'
str = 'Testü'
strU = 'TESTü'
strL = 'testü'
------------------------------------------------------------------------
[2002-09-05 17:09:34] sniper@php.net
Output:
str = 'Testü'
strU = 'TESTü'
strL = 'testã¼'
Don't try to patch..you're not doing it right anyway.
Just pull the snapshot and try with it.
------------------------------------------------------------------------
[2002-09-05 17:02:35] gamid@isayev.net
I did backport of strtolower() & strtoupper() from the latest string.c
(rev.1.290). The fuctions still does not work:
loc = 'UTF-8'
str = 'Testü'
strU = 'TESTü'
strL = 'testü'
Since I am not sure that you entered the UTF-8 symbols correctly,
here's a modified version of the code that creates the desired test
string:
<?
$str = "Test".utf8_encode("\xFC");
$loc = "UTF-8";
putenv("LANG=$loc");
$loc = setlocale(LC_ALL, $loc);
$strU = strtoupper($str);
$strL = strtolower($str);
?>
<PRE>
loc = '<? echo $loc; ?>'
str = '<? echo $str; ?>'
strU = '<? echo $strU; ?>'
strL = '<? echo $strL; ?>'
</PRE>
------------------------------------------------------------------------
[2002-09-05 16:02:55] sniper@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php4-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-latest.zip
I can't reproduce this with PHP 4.3.0-dev.
------------------------------------------------------------------------
[2002-09-05 15:46:14] gamid@isayev.net
Functions strtolower() & strtoupper() does not change UTF-8 strings. I
try Russian (0x042F, 0x044F) and German (0x00DC, 0x00FC) characters.
Example:
<?
$str = "testï";
$loc = "UTF-8";
putenv("LANG=$loc");
$loc = setlocale(LC_ALL, $loc);
$strU = strtoupper($str);
$strL = strtolower($str);
?>
<PRE>
loc = '<? echo $loc; ?>'
str = '<? echo $str; ?>'
strU = '<? echo $strU; ?>'
strL = '<? echo $strL; ?>'
</PRE>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=19257&edit=1