#php #windows #locale #intl
#php #Windows #locale #intl
Вопрос:
Итак, localeconv(), похоже, игнорирует локаль в моем php-скрипте и возвращает в основном пустой массив.
Я нашел множество вопросов и т.д. все ответы на которые сводились к неправильной настройке локали для Windows.
Я полагаю, что этот скрипт устанавливает его, используя допустимое значение, и я могу подтвердить, что текущая локаль — это та, которую я хочу использовать, но независимо от того, какова текущая локаль, localeconv() просто возвращает тот же (в основном) пустой массив.
Я хочу увидеть, что значения mon_decimal_point и mon_thousands_separator чем-то заполняются.
Итак, мой вопрос:
Что мне нужно сделать, чтобы получить реальные результаты от localeconv()?
Пример сценария:
<?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
(
)
)