PHP intl NumberFormatter::parse() problem

Ali lahko še kdo z PHP >= 5.4 preveri, ali mu spodnja parse metoda resetira LC_NUMERIC na "C", da lahko prijavim bug (ki ga ne gre prijaviti za 5.3).

<?php
setlocale(LC_ALL, 'sl_SI.UTF-8');
echo setlocale(LC_NUMERIC, 0) . "\n";

$fmt = new NumberFormatter( 'sl_SI.UTF-8', NumberFormatter::DECIMAL);
$num = "1.234.567,891";
echo $fmt->parse($num)."\n";

echo setlocale(LC_NUMERIC, 0);

Meni vrne:

sl_SI.UTF-8
1234567.891
C

4 odgovori

d:\1>php -v
PHP 5.4.16 (cli) (built: Jun  5 2013 21:00:57)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

d:\1>php test.php
C
1234567.891
C
d:\1>

Očitno slSI locale sploh nimaš (z "locale -a" bi lahko preveril oz. "sudo locale-gen slSI.utf8" generiral, samo vidim da si na windows, tam pa nimam blage s čim to narediš).

ok new one:

bostjan@muha2:~$ php -v
PHP 5.4.27-1~dotdeb.0 (cli) (built: Apr  6 2014 01:37:13)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
bostjan@muha2:~$ php test.php
sl_SI.UTF-8
1234567.891
C
bostjan@muha2:~$
1

Ok tudi tebi resetira, hvala ti za potrditev :)