setlocal,strftime - Windows和小写问题

时间:2012-10-16 00:04:54

标签: php strftime setlocale

  

可能重复:
  setlocale(LC_ALL, ‘en_GB.UTF8’) not working on 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机器上,它显示:

    • in Finnish is maanantai,lokakuu 15,2012 at 6:42
    • in French Canadian is lundi,octobre 15,2012 at 6:42
  3. 为什么这些单词是小写的?

1 个答案:

答案 0 :(得分:2)

在您的Windows计算机上,您设置的区域设置名称可能不可用。 根据 setlocale() 上的文档,有效的区域设置字符串可在MSDN处获得。

你的字符串,对于windows将是

  

加拿大法语:“frc”或“french-canadian”

     

芬兰语:“fin”或“finnish”

     

三个字母的语言字符串代码在Windows中有效   2000及以后的操作系统。

月份等都是小写的,因为: 法语和芬兰语不使用大写字母表示一周和几个月的日期。 (的 Finnish ) (的 French