MySQL на лету выполняет преобразование набора символов в нечто, называемое кодировка соединения . Вы можете указать этот набор символов с помощью оператора sql
SET NAMES utf8
или используйте определенную функцию API, такую как mysql_set_charset () :
mysql_set_charset("utf8", $conn);
Если это сделано правильно, нет необходимости использовать такие функции, как utf8_encode () и utf8_decode ().
Вы также должны убедиться, что браузер использует ту же кодировку. Обычно это делается с помощью простого заголовка:
header('Content-type: text/html;charset=utf-8');
(Обратите внимание, что кодировка в браузере называется utf-8 , но в MySQL utf8 .)
В большинстве случаев единственное, что вам нужно отслеживать, - это кодировка соединения и веб-кодировка, поэтому, если она все еще не работает, возможно, вы что-то делаете неправильно. Попробуйте немного поэкспериментировать с этим, обычно требуется некоторое время, чтобы полностью понять.