Mam problem z wyświetleniem danych z bazy danych. Na całej stronie kodowanie jest poprawne, a w skrypie Ajax/php , dzięki którym pobieram dane z bazy nie wyświetla polskich znaków. Tylko krzaczki. Zmieniałem kodowanie i bazie jest ono poprawne, na stronie też jest, a mimo to w jednym miejscu na stronie nie. Jest to skrypt pobierający dane z bazy i za pomocą ajaxa paginowany na stronie.
Pierwsze pytanie czy dane zapisywane w bazie masz już zakodowane w UTF-8,jeśli tak to zobacz czy w tabeli ustawione masz kodowanie utf8_polish_ci.Teraz w pliku php dajesz
Jeśli chcesz odczytać jakieś dane w danym kodowaniu,to w takim samym musisz je zapisywać do bazy,inaczej będą krzaki.w Takim samym kodowaniu ustawiasz bazę.Kodowanie bazy prawdopodobnie masz w utf_8_general_ci,zobacz jakie kodowanie ma tabela,może być czasami w latin i ustaw wiersz w tabeli na utf_8_plisch_ci.Wtedy na początku pliku php dajesz
Jest wszystko ustawione jak napisałeś, ale to na prawdę nie pomaga.
Pozostają mi tylko encje? Już nie wiem co mógłbym jeszcze zmienić i gdzie? w bazie jest utf8_polish_ci, do skryptu dodałem te linijki kodu, ale nadal mam krzaczki.
2. Baza danych i wszystkie jej tabele mają kodowanie utf8_general_ci
3. Wszystkie wiersze w tabelach mają kodowanie utf8_general_ci
Więc ja powiem Ci tak. Zawsze daję kodowanie utf8_general_ci i ustawiam je wszędzie.
Zdaje się że dokładnie przejrzałem posty. Według mnie sprawa wygląda chyba tak, że plik AJAX, który pobiera wyniki z bazy i którego wyświetlasz najprawdopodobniej tak:
Ok, dzięki za pomoc. W końcu udało się z tym. Ale mam kolejny problem, bo Internet Explorer od wersji 8(włącznie) w dół, nie wyświetla tego skryptu. Inne przeglądarki nie mają z tym problemu.