ID: 14655 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Assigned Bug Type: Strings related Operating System: Windows XP Pro (spanish) PHP Version: 4.1.0 Assigned To: hholzgra New Comment:
You can use mb_convert_case() instead of ucwords. Could I close this bug? Previous Comments: ------------------------------------------------------------------------ [2002-08-27 07:50:25] [EMAIL PROTECTED] I had this bug to. To get around it, I added some 'hair' to the code. $string=ucwords($string); //Bugfix from here on for($i=0;$i<strlen($string);$i++) if((ctype_upper($string[$i]) &&( $string[$i-1]==" " || $i==0 ))!=TRUE) $string[$i]=strtolower($string[$i]); I'm a PHP newbie so I guess some of you can come up with a brighter solution. This code lowercases _all_ letters that is not either the first in the string or following a space. If your application does not meet both this criterias, you might not want this code. ------------------------------------------------------------------------ [2002-07-13 18:10:13] [EMAIL PROTECTED] chancing status ------------------------------------------------------------------------ [2002-06-17 07:02:15] [EMAIL PROTECTED] setlocale() doesn't work well with multithreaded servers as the current locale is set globaly for all threads ------------------------------------------------------------------------ [2002-04-21 06:24:41] [EMAIL PROTECTED] Confirming your bug (PHP 4.1.2 on W2k) setlocale() on windows is the problem! See bug #16718 http://bugs.php.net/bug.php?id=16718 ------------------------------------------------------------------------ [2002-01-22 08:03:40] [EMAIL PROTECTED] Some additional comments: I cant reproduce this in Linux (meaning the returned data doesnt change), but with PHP 4.1.1 in Window XP the problem exists, but only when i change locale, my default locale is: LC_COLLATE=C;LC_CTYPE=English_United States.1252;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C and the output here is: ÑÁéÍóúàèìòùäëÏöÜ With linux: Ñáéíóúàèìòùäëïöü But if i change locale with: setlocale(LC_ALL, "english"); (Locale: English_United States.1252) The returned data differs at each function call ------------------------------------------------------------------------ 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/14655 -- Edit this bug report at http://bugs.php.net/?id=14655&edit=1