Zauważyłem, że uruchamiasz to zapytanie... mysql_query('SET CHARACTER SET utf8');
Spróbuj zmienić to na to...
mysql_query("SET NAMES 'utf8'");
To powinno zapewnić, że połączenie jest UTF-8.
Spróbuj także przejrzeć listę pozycji w tym artykule... http:/ /blog.loftdigital.com/blog/php-utf-8-cheatsheet
Poniżej wymieniono kroki, które należy wykonać, aby upewnić się, że używasz UTF-8 od początku do końca w swojej witrynie/aplikacji, ale w skrócie:
- Sprawdź, czy masz rozszerzenie PHP mbstring i masz
mb_internal_encoding('UTF-8');
ustawić w swoim skrypcie. - Upewnij się, że uruchamiasz to zapytanie MySQL po połączeniu się z bazą danych
mysql_query("SET NAMES 'utf8'");
co zapewnia połączenie UTF-8. - Ustaw nagłówek HTTP wyjścia...
header('Content-type: text/html; charset=UTF-8');
. Nie wydaje się to potrzebne, jeśli ustawiłeśmb_internal_encoding()
powyżej, ale przydatne do debugowania - Upewnij się, że kodowanie wyjściowe Twojej strony HTML jest ustawione...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />