Cześć,
ostatnimi czasy mam wielki problem z kodowaniem polskich znaków. Zainstalowałem serwer Apache na swoim komputerze i pojawił się pewien problem, którego nie umiem rozwiązać. Kodowanie polskich znaków w samej treści strony działa, ustawione jest na utf-8 zarówno w nagłówku head (<meta http-equiv="content-type" content="text/html; charset=utf-8">) jak i w formacie pliku. Gdy w treści dokumentu pojawia się polski znak jest on kodowany dobrze, lecz problem pojawia się w momencie wstawiania nowego rekordu do bazy danych jak i uaktualniania poprzednich. Gdy poprzez prosty skrypt php (
http://pastebin.com/QXcmKDnH) próbuje wrzucić co do bazy danych np. "Mężczyzna" w bazie danych wygląda to tak: "MÄĹźczyzna" i tak jest też później odczytywane po wyciągnięciu z bazy danych przez skrypt php. Sortowanie połączenia z serwerem mam ustawione na utf8mb4_general_ci ( i tu może być problem, lecz gdy wszędzie dam to kodowanie to nic nie zmienia, a na zwykłe utf8_general_ci nie da się wybrać). Cała baza danych ma ustawione porównywanie napisów na utf8_general_ci tak samo tabela i komórka w tabeli. Dodatkowo nawet jeśli zmienię wszystko na utf8_polish Ci również nic to nie daje. Przejrzałem masę stron i żadna z odpowiedzi nie rozwiązała mi problemu. Próbowałem ustawiać domyślne kodowanie w php.ini, w .htacess, lecz nic to nie dało. Proszę o pomoc, bo być może jest to prozaiczny błąd, który zablokował moją dalszą pracę :/
Ps. Jeśli zmienię rekord ręcznie wstawiając słowo "Mężczyzna" zapisuje mi to dobrze z polskimi znakami i tak też odczytuje :)