我在windows vista
上運行PHP
。所以,我試圖瞭解locale函數的工作原理。我開始與如何使用PHP語言環境功能
setlocale(LC_ALL, $locale)
和localeconv()
起初,它與CLDR區域ID的工作(我想..,剛開始學習PHP語言環境),如「en_US」表示,「en_UK」等,造成如示PHP文檔示例。但現在setlocale()
和localeconv()
只適用於值,如"English_United Kingdom.1252"
和"English_United States.1252"
,我相信這是基於Windows的區域設置ID。
所以,當我做的:
var_dump(setlocale(LC_ALL, "en_US"));
var_dump(localeconv());
我得到這些結果:
boolean false
array (size=18)
'decimal_point' => string '.' (length=1)
'thousands_sep' => string '' (length=0)
'int_curr_symbol' => string '' (length=0)
'currency_symbol' => string '' (length=0)
'mon_decimal_point' => string '' (length=0)
'mon_thousands_sep' => string '' (length=0)
'positive_sign' => string '' (length=0)
'negative_sign' => string '' (length=0)
'int_frac_digits' => int 127
'frac_digits' => int 127
'p_cs_precedes' => int 127
'p_sep_by_space' => int 127
'n_cs_precedes' => int 127
'n_sep_by_space' => int 127
'p_sign_posn' => int 127
'n_sign_posn' => int 127
'grouping' =>
array (size=0)
empty
'mon_grouping' =>
array (size=0)
empty
如何讓我的腳本響應CLDR區域ID?
那麼這是否意味着函數'setlocale()'實際上駐留在操作系統上並且'PHP'只是調用它?這意味着它的參數必須在'windows'上定義/安裝? –
我這麼認爲。嘗試從上面提供的鏈接使用語言環境名稱,這應該在Windows上工作。 –