所以,localeconv()似乎忽略了我的php脚本中的语言环境,并返回一个基本上为空的数组。
我发现了很多问题等,所有的答案都归结为没有正确设置为Windows的语言环境。
我相信这个脚本使用有效的值来设置它,我可以确认当前的语言环境是我想要使用的语言环境,但不pipe当前语言环境是什么,localeconv()只返回相同的(大部分)空数组。
我正在看的是mon_decimal_point和mon_thousands_separator值填充的东西。
所以,我的问题是:
<?php echo locale_get_default()."\n"; echo setlocale(LC_MONETARY, locale_get_default()) . "\n"; echo setlocale(LC_MONETARY, '0')."\n"; $locale_info = localeconv(); print_r($locale_info); echo setlocale(LC_MONETARY, null) ."\n"; echo setlocale(LC_MONETARY, '0')."\n"; $locale_info = localeconv(); print_r($locale_info);
sve Swedish_Sweden.1252 Swedish_Sweden.1252 Array ( [decimal_point] => . [thousands_sep] => [int_curr_symbol] => [currency_symbol] => [mon_decimal_point] => [mon_thousands_sep] => [positive_sign] => [negative_sign] => [int_frac_digits] => 127 [frac_digits] => 127 [p_cs_precedes] => 127 [p_sep_by_space] => 127 [n_cs_precedes] => 127 [n_sep_by_space] => 127 [p_sign_posn] => 127 [n_sign_posn] => 127 [grouping] => Array ( ) [mon_grouping] => Array ( ) ) English_United States.1252 English_United States.1252 Array ( [decimal_point] => . [thousands_sep] => [int_curr_symbol] => [currency_symbol] => [mon_decimal_point] => [mon_thousands_sep] => [positive_sign] => [negative_sign] => [int_frac_digits] => 127 [frac_digits] => 127 [p_cs_precedes] => 127 [p_sep_by_space] => 127 [n_cs_precedes] => 127 [n_sep_by_space] => 127 [p_sign_posn] => 127 [n_sign_posn] => 127 [grouping] => Array ( ) [mon_grouping] => Array ( ) )