Która funkcja PHP ustawia KODOWANIE znaków połączenia z bazą (np. dla polskich liter)?
Źle. Pobiera wiersz wyniku jako tablicę.
Dobrze. Ustawia kodowanie (np.
utf8) dla połączenia.Źle.
mysqli_query() wykonuje zapytanie.Źle.
mysqli_connect() nawiązuje połączenie.Nawet gdy tabele są w
utf8, połączenie PHP-baza może domyślnie używać innego kodowania - i wtedy „ą”, „ś”, „ł” zamieniają się w „krzaki”. Naprawia to mysqli_set_charset($polaczenie, "utf8"), ustawiając kodowanie znaków dla całej komunikacji z bazą. Wywołuje się ją raz, zaraz po połączeniu. Zapamiętaj: „set_charset” = ustaw zestaw znaków połączenia, żeby polskie litery zapisywały się i czytały poprawnie.Pozostałe funkcje nie dotyczą kodowania.
mysqli_connect() nawiązuje połączenie (ale samo z siebie nie ustawia poprawnego charsetu), mysqli_query() wysyła zapytanie, a mysqli_fetch_assoc() pobiera wiersz wyniku jako tablicę asocjacyjną. Kodowanie znaków połączenia ustawia wyłącznie mysqli_set_charset().