Здравствуйте. Вот код header ("Content-type:text/html; charset=utf-8"); /////////////// Определяем используемые функции ////////////////// /* Открываем соединение с базой данных*/ function connectDB (){ // Определяем константы для соединения с базой данных define('DB_HOST', 'localhost'); define('DB_USER', ''); define('DB_PASS', ''); define('DB_NAME', ''); //Пытаемся соединится с базой данных $dbconn = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Ошибка соединения с базой данных! " . mysql_error()); //и выбрать таблицу mysql_select_db('table'); // Устанавливаем кодировку mysql_query('SET NAMES utf-8'); //Возвращаем дескриптор соединения return $dbconn; } /*Закрываем соединение с базой данных*/ function closeDB($dbconn){ mysql_close($dbconn); } /*Обработка поискового запроса*/ function search ($query) { $text = ''; // Проводим фильтрацию данных $query = trim($query); // Обрезаем пробелы и спецсиволы $query = strip_tags($query); // Удаляем HTML и PHP теги $query = mysql_real_escape_string($query); // Экранируем специальные символы //Поисковый запрос не пустой? if (!empty($query)){ if (strlen($query) < 1) { $text = '<p>короткий поисковый запрос.</p>'; }elseif (strlen($query) > 128) { $text = '<p>длинный поисковый запрос.</p>'; } else { //Формируем строку поискового запроса $sql =mysql_query("SELECT id, name, cena, dostavka, dop FROM `tovari` WHERE `dop` LIKE '%$query%' OR `name` LIKE '%$query%' OR `id` LIKE '%$query%'"); // и выполняем его $query1= mysql_query("select * from tovari WHERE id=84"); $row1 = mysql_fetch_array($query1); //Определим колличество найденных совпадений $num = mysql_num_rows($sql); //Если число совпадений (строк результата запроса) больше 0 if ( $num > -1) { //Получаем ассоциативный массив $row = mysql_fetch_array($sql); //и начинаем формировать строку поисковой выдачи $text .= 'По вашему запросу <strong>'.$query.'</strong>'; $text .= ' найдено '.$num.' совпадений</br></br>' ; do { //Продолжаем формировать строку поисковой выдачи $text .=$row['name']; // Делаем это пока у нас есть результаты } while ($row = mysql_fetch_array($sql)); } else { // Найти совпадение не удалось $text = 'По вашему запросу ничего не найдено.'; } } }else { $text = 'Задан пустой поисковый запрос.'; } //Возвращаем сформированную строку поисковой выдачи return $text; } ///////////// Сам скрипт обработчик /////////////// if (isset ($_POST['query'])){ // Открываем соединение с базой данных $connect = connectDB(); $search_result = search ($_POST['query']); echo $search_result; // Закрываем соединение с базой данных closeDB ($connect); } Но если запустить, то работает только с ангийскими символами и цифрами. Т.е. в базе с кодировкой utf-8 есть поля с русскими символами, но ищет только англ. Объясните пожалуйста, из-за чего это может быть?