Witam!
Mam problem z kodowaniem daty i setlocale w PHP4. Locale maszyny (Linux) mam ustawione na pl_PL.utf8. phpinfo() pokazuje ustawienia zmiennych środowiskowych LANG, LC_ALL, etc. na pl_PL.utf8. Skrypt generuje treść zakodowaną w UTF-8. Wszystko działa OK gdyby nie fakt, że data jest zwracana w ISO8859-2. Gdy piszę pl_PL jest ISO, gdy pisze nie ważne czy pl_PL.utf8, pl_PL.utf-8, pl_PL.UTF8, etc. skrypt nie może rozpoznać kodowania (setlocale false) i zwraca mi tekst w języku angielskim.

Do testów korzystam z poniższego skryptu.
  1. <?php
  2. $arrLocale = array( "pl_PL", "pl_PL.utf8");
  3. var_dump(setlocale( LC_ALL, $arrLocale ));
  4.  
  5. echo strftime("%A %B");
  6. ?>


P.S. Nie mogę wykorzystać iconv.

P.S. 2 Nie uznaję kodowania innego niż UTF-8.




Witam!
Znalazłem rozwiązanie. Należy z konsoli serwera skompilować pliki definicji locale pl_PL.UTF-8 poleceniem:
Kod
localedef -i pl_PL -f UTF-8 pl_PL.UTF-8
. Wykorzystanie polskiego locale w php przy użyciu pl_PL.UTF-8.