Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> setlocale, coś nie działa...
tomekp
post 24.10.2006, 11:12:30
Post #1





Grupa: Zarejestrowani
Postów: 171
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Krakół

Ostrzeżenie: (0%)
-----


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?


--------------------
escape from the execution is futile.
Go to the top of the page
+Quote Post
Jojo
post 24.10.2006, 11:34:13
Post #2





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Spróbuj tak:
  1. <?php
  2. setlocale( LC_ALL, array( 'pl_PL', 'pl_PL.ISO8859-2', 'polish_pol' ) );
  3. ?>


Ten post edytował Jojo 24.10.2006, 11:34:25


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
tomekp
post 24.10.2006, 12:09:52
Post #3





Grupa: Zarejestrowani
Postów: 171
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Krakół

Ostrzeżenie: (0%)
-----


Dalej nie działa, tak jakby był jakiś problem z apachem, php, nie wiem.
Jak to można sprawdzić?


--------------------
escape from the execution is futile.
Go to the top of the page
+Quote Post
Sh4dow
post 24.10.2006, 12:33:08
Post #4





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


a sprawdzałeś czy takie locale są zainstalowane na serwerze ?


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
mls
post 24.10.2006, 13:53:46
Post #5





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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


Ten post edytował mls 24.10.2006, 13:55:36


--------------------
Go to the top of the page
+Quote Post
ernie242
post 7.05.2009, 20:39:27
Post #6





Grupa: Zarejestrowani
Postów: 24
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Pilsener
post 7.05.2009, 22:18:49
Post #7





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2025 - 08:50