PDA

Zobacz pełną wersję : Krzaczki w datach tworzenia artykułów



Algol
28-08-2009, 11:49
Joomla 1.0.13JIE-pl-utf.
W datach utworzenia i modyfikacji umieszczanych na stronie artykułów pojawiają się krzaczki. Zmieniałem na różne sposoby setlocal(LC_ALL, 'pl', 'pl_PL', 'pl_PL.ISO8859-2', 'plk', 'polish', 'Polish'); i nie pomaga.
Skąd strftime( ) pobiera nazwy dni i miesięcy? Może z bazy danych ale gdzie w bazie tego szukać?

nikszal
28-08-2009, 19:30
A do language zagladałeś?

Algol
28-08-2009, 21:05
Wszelkie modyfikacje w launguage nie wpływają na krzaczki.. Pozostaje mi zmienić format daty (pomijają słowne ich fragmenty), albo wykombinować jakiś skrypt, który mi te krzaczki nadpisze.. Ale może mimo wszystko ktoś wie skąd pobierana jest tablica nazw dni tygodnia dla strftime() ...?

zwiastun
28-08-2009, 21:18
z ustawień lokalizacji na serwerze!

Algol
28-08-2009, 21:21
Tak myślałem, że jest to sprawa albo bazy albo serwera... :(. W ustawieniach serwera nie pogrzebe.

zwiastun
28-08-2009, 21:23
próbowałeś już (pierwsza wiadomość), możliwości jest znacznie więcej albo zapytaj administratora serwera

Jola
28-08-2009, 21:41
Witam,
powinno być tak:

setlocale(LC_ALL, 'pl_PL.UTF8');
Wtedy działa poprawnie.
Pozdrawiam

Algol
28-08-2009, 22:07
Niestety >jolaass< setlocale(LC_ALL, 'pl_PL.UTF8'); nie pomogło, a wręcz pozmieniało mi na angielskie nazewnictwo, ale to mnie nie dziwi. :) Pozostaje mi skorzystać z eregi_replace() i pozamieniać na polskie odpowiedniki. :) To mi przed chwilą do głowy wpadło!
Dzięki za trud.

Jola
28-08-2009, 22:43
A tak z ciekawości - gdzie wprowadzasz te zmiany?
Funkcja strftime( ) jest funkcją "wbudowaną" w PHP, nazwy miesięcy i dni nie pobiera z bazy danych.
Możesz sprawdzić jak będzie sie wyświetlała data pobrana z prostego pliku php z zadeklarowanum kodowaniem utf-8 i zawartością:


setlocale(LC_ALL, 'pl_PL.UTF8');
echo strftime('%A, %d %B %Y %H:%M',time());

Na moim serwerze wyświetla się prawidłowo

Algol
28-08-2009, 23:20
>jolaass<
Na życzenie:
setlocale(LC_ALL, 'pl_PL.UTF8');
echo strftime('%A, %d %B %Y %H:%M',time());
wyświetla się:
Saturday, 29 August 2009 00:32
Natomiast: setlocale(LC_ALL, 'pl_PL');
wyświetla się:
sobota, 29 sierpie� 2009 00:36