Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]funkcja date() a polskie znaki?
xajart
post
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 1
Dołączył: 2.12.2008

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


Witam, kiedyś o tym czytałem a teraz nie mogę tego znaleźć.
A mianowicie mam skrypt kodowany w UTF8 bez BOM, kodowanie ustawione na utf8, a kiedy wywołuj funkcję:

Kod
$i=12;
echo strftime('%B', mktime(0, 0, 0, $i, 1));



Nie wyświetla mi polskich znaków przy nazwach miesięcy.

setlocale mam ustawiony:
Kod
$arrLocales = array('pl_PL.UTF-8','pl_PL','polish');
setlocale(LC_ALL, $arrLocales );


Jednak nie wiem czy jest on poprawnie zadeklarowany.

Ten post edytował xajart 23.12.2009, 00:20:46
Go to the top of the page
+Quote Post
Pilsener
post
Post #2





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

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


Hmmm, a w phpinfo() nie wyświetli, jakie kodowanie zostało wybrane, strefa czasowa etc? Użyj funkcji typu mb_detect_encoding by określić, w jakim kodowaniu zwracana jest data a następnie np. iconv by zmienić kodowanie na takie, jakie chcesz.

Edit: (uzupełniam)

1.
Cytat
powinno się używać funkcji strftime()
- potwierdzam
2.
Cytat
pod Windows dochodzi do różnych dziwnych rzeczy
- również potwierdzam, strftime działa pod linuchem bez zarzutu, pod windowsem można robić protezy w stylu:

  1. $data = strtr($data, 'ĄŚŹąśź', 'ˇ¦¬±¶Ľ');


Sztuczka z rozpoznaniem kodowania a następnie wstawienia go jako źródłowego w iconv także pod windowsem może sprawić problemy gdyż ogólnie znaną prawdą jest, że wszelkie funkcje typu kodowanie znaków źle sobie radzą z windowsem smile.gif

Ten post edytował Pilsener 23.12.2009, 13:56:13
Go to the top of the page
+Quote Post
Zyx
post
Post #3





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Do formatowania dat w językach innych niż angielski powinno się używać funkcji strftime(), gdyż date() niezbyt się przejmuje ustawieniami locale.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Nie wyświetla mi polskich znaków przy nazwach miesięcy.

To zależy od platformy. Najlepiej sytuacja ma się pod Uniksem; pod Windows dochodzi do różnych dziwnych rzeczy z diakrytykami.

Jeśli zależy Ci na międzyplatformowości, utwórz tablice z nazwami dni/miesięcy.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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 Aktualny czas: 19.08.2025 - 17:53