ID: 49398 Updated by: [email protected] Reported By: mark dot j dot wade at googlemail dot com -Status: Open +Status: Feedback Bug Type: Strings related PHP Version: 5.2.10 New Comment:
Which OS? Previous Comments: ------------------------------------------------------------------------ [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
