ID: 49398 User updated by: mark dot j dot wade at googlemail dot com Reported By: mark dot j dot wade at googlemail dot com -Status: Feedback +Status: Open Bug Type: Strings related PHP Version: 5.2.10 New Comment:
Linux Previous Comments: ------------------------------------------------------------------------ [2009-08-28 12:48:25] [email protected] Which OS? ------------------------------------------------------------------------ [2009-08-28 12:46:48] mark dot j dot wade at googlemail dot com Description: ------------ number_format will only accept a single character for the thousands separator and deliberately shortens longer input to one character. However, for some charsets (ru_RU.UTF8 was the one I discovered this on) the thousands separator as returned by localeconv is more than one character. Normally, this wouldn't be a problem, however, it seems when PHP tries to shorten this particular value to one character, it creates an invalid character and returns something like demonstrated in the reproduce code. Reproduce code: --------------- setlocale( L_ALL, 'ru_RU.UTF8' ); $locale = localeconv(); echo number_format( 9999, 0, $locale['decimal_point'], $locale['thousands_sep'] ); Expected result: ---------------- 9 999 Actual result: -------------- 9?999 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=49398&edit=1
