2012-10-16 5 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를 어떻게 구성해야합니까? 6시 42분
  2. 에 15, 2012 octobre, 핀란드어
    • 이 maanantai입니다

      는, 프랑스어 (캐나다)에 6시 42분
    • 에 15, 2012 lokakuu lundi입니다 : 내 리눅스 시스템에서
    • 는,이 표시

단어가 소문자로 표시되는 이유는 무엇입니까?

답변

2

Windows 시스템에서는 설정중인 로케일 이름을 사용하지 못할 수 있습니다. setlocale()의 설명서에 따르면 유효한 로캘 문자열은 MSDN입니다. "FRC"또는 "프랑스어 - 캐나다"

핀란드어 : "핀"또는 "핀란드어"

3 편지 쓰기 창에 대한

귀하의 문자열,

프랑스어 (캐나다)가 될 것입니다 언어 문자열 코드는 Windows 2000 이상의 운영 체제에서 유효합니다.

월 등은 모두 소문자이므로 다음과 같습니다. 프랑스어와 핀란드어는 요일과 월에 대문자를 사용하지 않습니다. 그런 경우 (Finnish) (French)는

+0

아 ...,이 출력은 정확하다. 방금 대문자로 찍은 거라고 가정 했어. Windows 시스템에서 영어로 표시되는 이유는 무엇입니까? – StackOverflowNewbie

+0

다른 동작을 나타내지 않습니다. Windows에서 로켈 문자열이 작동하지 않을 수 있습니다. [언어 문자열 참조] (http://msdn.microsoft.com/en-us/library/39cwe7zf%28v=vs.90%29.aspx)를 확인하십시오. –