Bug #54315 [Bgs->Fbk]: Some string functions doesn't work as expected with cyrillic characters

From: Date: Sat, 19 Mar 2011 12:04:34 +0000
Subject: Bug #54315 [Bgs->Fbk]: Some string functions doesn't work as expected with cyrillic characters
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-159621@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=54315&edit=1 ID: 54315 Updated by: pajoye@php.net Reported by: sms at inbox dot ru Summary: Some string functions doesn't work as expected with cyrillic characters -Status: Bogus +Status: Feedback Type: Bug Package: Strings related Operating System: Windows 7 PHP Version: 5.3.6 Block user comment: N Private report: N New Comment: ru_RU would not work reliably before (or now) as it is not a recognized locale. See the links on the setlocale documentation page for a list of the available locale (and cp). However, the only change in 5.3.6 is that the Locale related APIs are not per thread instead of per process. Making them thread safe and avoid many possible crashes. Which web server and SAPI do you use? Can you try this code using CLI (cmd line) too? Previous Comments: ------------------------------------------------------------------------ [2011-03-19 12:58:50] sms at inbox dot ru I had to go back to 5.3.5 where these functions work as expected. 5.3.6 breaks existing and working scripts ------------------------------------------------------------------------ [2011-03-19 12:40:23] pajoye@php.net Please see the note about Windows and Locale strings at http://www.php.net/setlocale For a portable and reliable locale support, I would suggest to move to intl, http://www.php.net/intl ------------------------------------------------------------------------ [2011-03-19 12:16:55] sms at inbox dot ru Description: ------------ At least two string functions fail with cyrillic characters (cp1251) as of version 5.3.6: strtolower() and strtoupper(). Test script: --------------- setlocale(LC_ALL, 'ru_RU'); echo 'strtoupper: '.strtoupper('test тест').'<br>strtolower: '.strtolower('TEST ТЕСТ'); Expected result: ---------------- strtoupper: TEST ТЕСТ strtolower: test тест Actual result: -------------- strtoupper: TEST тест strtolower: test ТЕСТ ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=54315&edit=1

« previous php.bugs (#159621) next »