2012-10-16 20 views
1

可能重複:
setlocale(LC_ALL, ‘en_GB.UTF8’) not working on windowsSETLOCAL,strftime的 - Windows和小寫的問題

我有下面的PHP代碼:

setlocale(LC_TIME, "fi_FI"); 
echo strftime(" in Finnish is %A, %B %d, %G at %l:%M%p"); 
setlocale(LC_TIME, "fr_CA"); 
echo strftime(" in French Canadian is %A, %B %d, %G at %l:%M%p"); 

問題:

  1. 在我的Windows機器上,它顯示爲英語。如何配置PHP或Windows來使這項工作正確?
  2. 在我的Linux機器,它會顯示這樣的:

      在芬蘭
    • 是maanantai,加拿大法語在6:42
    • lokakuu 15,2012年是Lundi將軍,在6:42
    • OCTOBRE 15,2012

任何想法,爲什麼這些話是小寫?

回答

2

在Windows機器上,您設置的區域設置名稱可能不可用。 根據setlocale()的文檔,有效的語言環境字符串可在MSDN處獲得。

你的字符串,窗戶會

加拿大法語: 「FRC」 或 「加拿大法語」

芬蘭語: 「鰭」 或 「芬蘭」

的三字母語言字符串代碼在Windows 2000及更高版本的操作系統中有效。

這些月份等都是小寫,因爲: 法國和芬蘭在一週和幾個月中不使用大寫字母。 (Finnish) (French

+0

哦...如果是這樣的話,那麼這個輸出是正確的。我只是假定它應該被大寫。任何想法爲什麼它在我的Windows機器上以英文顯示? – StackOverflowNewbie

+0

它不應該表現出不同的行爲。語言環境字符串可能不在windows下工作。檢查[語言字符串參考這裏](http://msdn.microsoft.com/en-us/library/39cwe7zf%28v=vs.90%29.aspx) –