jestem trochę późno, ale Googling wokół znalazłem ten post. Odpowiedzi nie były odpowiednie w moim przypadku. Występuje ten sam problem co OP, ale moim ustawieniem narodowym jest fr_FR i wszystko działa poprawnie na moim komputerze, ale nie na serwerze dev.
Jeśli dodaję iconv (jak większość ludzi sugeruje, kiedy Google to dotyczy), działa na serwerze dev, ale nie na moim komputerze, więc potrzebowałem "kuloodpornego" rozwiązania, które działałoby tak samo wszędzie (jak tam jest także serwerem produkcyjnym).
Tak, problem jest tutaj z , ta funkcja zmienia ustawienia narodowe w bieżącym wykonaniu, ale każde ustawienie narodowe jest powiązane z zestawem znaków, a jeśli żadne nie jest określone, wraca do domyślnego systemu (I Myślę, że w moim przypadku było to cofnięcie się do ISO-8859-1 przy użyciu ustawienia lokalnego fr_FR. Możesz wyświetlić wszystkie dostępne ustawienia lokalne na twoim komputerze/serwerze za pomocą polecenia locale -a
. Najprawdopodobniej zobaczysz żądane ustawienia narodowe z ".UTF-8" (w moim przypadku "fr_FR.UTF-8"), tak to musisz ustawić: setlocale('fr_FR.UTF-8');
jakie błędy są coraz biegnę swój kod w codepad i nic nie znalazłem nieodpowiednie, daj mi znać WHR u obliczu problemu http://codepad.org/YWGGJ1tW – swapnesh
Jak widzisz wynik? W wyszukiwarce? Jesteś pewien, że problem leży w kodzie, a nie w sposobie, w jaki widzisz dane wyjściowe? Nie używaj też strtotime - jego bardzo złej praktyki, jako czarnej skrzynki, jeśli data, którą dostarczysz to 06/07/11 - jaki byłby wynik (który to jest rok, miesiąc, data)? – ddinchev
Dostaję czarny diament z wewnątrz pytającym znakiem. Nie mogę powiedzieć na pewno, ale nie sądzę, że problem jest taki, jaki widzę, ponieważ echo "echo" á ".strftime ("% A ", strtotime ($ row ['Date'])); 'pokazuje poprawnie, ale nie drukuje sábado poprawnie. – lisovaccaro