Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: setlocale, coś nie działa...
Forum PHP.pl > Forum > PHP
tomekp
Witam,

W skrócie:
  1. <?php
  2. /* Set locale to Dutch */
  3. setlocale(LC_ALL, 'pl_PL');
  4.  
  5. /* Output: vrijdag 22 december 1978 */
  6. echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));
  7. ?>

Powinno wyświetlać polskie nazwy, a tego nie robi.
Dlaczego?
Jojo
Spróbuj tak:
  1. <?php
  2. setlocale( LC_ALL, array( 'pl_PL', 'pl_PL.ISO8859-2', 'polish_pol' ) );
  3. ?>
tomekp
Dalej nie działa, tak jakby był jakiś problem z apachem, php, nie wiem.
Jak to można sprawdzić?
Sh4dow
a sprawdzałeś czy takie locale są zainstalowane na serwerze ?
mls
Ja korzystam z
  1. <?php
  2. setlocale(LC_ALL, 'pl', 'pl_PL', 'pl_PL.ISO8859-2', 'plk', 'polish', 'Polish');
  3. ?>

i działa to to na większości serwerów z których korzystam. A jak nie działa, wystarczy sprawdzić jakie locale są dostępne w systemie:
Kod
$ locale -a|grep pl

co w przypadku mojego Mac-a zwraca:
Kod
$ locale -a|grep pl
pl_PL
pl_PL.ISO8859-2
pl_PL.UTF-8
ernie242
Skoro temat cały czas wisi na 'google' to dopowiadam:

Na systemach Windows podczas gdy używasz kodowania utf-7 lub utf-8 setlocale NIE BĘDZIE DZIAŁAĆ i zawsze zwróci null. W projektach kodowanych w np. iso-8859-2 setlocale działa normalnie.
Pilsener
Ja też wtrącę swoje 3 grosze - setlocale działa bez problemu na 90% serwerów (o ile nie więcej), jeśli nie działa to na 100% z winy administratora serwera.

Ja robię akurat tak:
  1. <?php
  2. $arrLocale = array( "pl_PL", "polish_pol" );
  3.   setlocale(LC_ALL, $arrLocale );
  4. ?>
- i większych problemów jak do tej pory nie miałem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.