Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: setlocale pod windows
Forum PHP.pl > Forum > PHP
falconsih
Witajcie

Mam prośbę, bo próbuję już na różne sposoby i nie wiem co jest grane:

Mam taki fragment kodu:
  1. <?php
  2.  
  3. if (isset($this -> language) && $this -> language) {
  4. if (isset($this -> locale_dir)) {
  5. bindtextdomain("php_gon", $this -> locale_dir);
  6. } else {
  7. bindtextdomain("php_gon", PHP_GON_DIR."locale");
  8. }
  9.  
  10. setlocale(LC_MESSAGES, $this -> language);
  11. setlocale(LC_CTYPE, $this -> language);
  12.  
  13. }
  14.  
  15. ?>

pod linuxem chodzi mi wszystko ok., ale gdy próbuję go uruchomić pod windows to w tym miejscu wyrzuca mi komunikat:


Warning: setlocale() [function.setlocale]: Passing locale category name as string is deprecated. Use the LC_* -constants instead. in C:\xampp\lib\php_gon-2.10\php\php_gon.php on line 143

Warning: setlocale() [function.setlocale]: Invalid locale category name LC_MESSAGES, must be one of LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, or LC_TIME. in C:\xampp\lib\php_gon-2.10\php\php_gon.php on line 143

używam pod windowsem pakietu xampp.
dodałem tablice:
  1. <?php
  2.  
  3. $arrLocale = array( "pl_PL", "polish_pol" );
  4.  
  5. setlocale(LC_MESSAGES, $arrLocale);
  6. setlocale(LC_CTYPE, $arrLocale);
  7.  
  8. ?>


a w miejsce $arrLocale wstawiałem także po przeszukaniu netu:

'Polish_Poland.28592'

ale nic to nie daje.

i nie mam pojęcia w czym problem - może coś mam nie włączone?

Jak ktoś ma pomysł to fajnie by było jakby się nim podzielił smile.gif


dzięki
crash
Poczytaj w manualu o setlocale" title="Zobacz w manualu php" target="_manual. Zwróć uwagę na notatkę dotyczącą Windowsa...
falconsih
przeglądałem już manuala no i sprawdzałem
co pisze microsoft, a pisze:

codepages - Central European (ISO) iso-8859-2 28592
country strings - Poland "pol", "poland"
language strings - Polish Polish "plk", "polish"

wstawiałem w setlocale(LC_MESSAGES, "wstawiane");

wszystkie chyba kombinacje i dalej nic.

Natomiast jak dla testu wpisałem:
  1. <?php
  2.  
  3. $arrLocale = array( "pl_PL", "polish_pol" );
  4. setlocale( LC_ALL, $arrLocale );
  5. echo strftime("%A, %d %B %Y");
  6.  
  7. ?>


to bez problemu wyrzuciło mi:
niedziela, 19 marzec 2006
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.