Очень часто многие сталкиваются с такой проблемой, что после установки
скрипта букса MFS или других подобных скриптов у них вместо русского текста отображаются знаки вопроса или ещё какие либо не понятные символы. Дело в том что часто, при переносе сайта с одного хостинга на другой, могут возникнуть проблемы из-за
несовпадения кодировок между данными, хранящимися в базе данных MySQL, и данными, хранящимися в файлах сайта. Что бы помочь избавиться от проблемы раз и на всегда выкладываю вам несколько примеров решение этой ошибки.
Например, если данные на сайте у нас хранятся в кодировке windows-1251, то и читать данные из базы мы должны в этой же кодировке. Для этого, после выполнения подключения к базе с помощью функции PHP.
Выполните следующий запрос SQL:
mysql_query("SET NAMES cp1251");
Данный запрос, сообщает серверу базы данных MySQL, что все данные хранятся и должны передаваться в кодировке cp1251 (именно такое название кодировки используется в MySQL вместо упоминаемого ранее названия windows-1251, которое используется при передачи данных HTML).Но лучше всего изменить кодировку данных в базе MySql на ту, которая используется и на самом сайте. Тогда серверу базы данных не придётся выполнять лишнюю операцию по перекодировки данных из одного формата в другой.
Можно пойти таким путём:
Открываем файл config.php в корне букса и админке после этих строк:
mysql_connect($bd_host, $bd_user, $bd_password);
mysql_select_db($bd_base, $con);
Добавим вот эти строки:
mysql_query("set names 'cp1251'");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
Можно также сделать просто запрос к базе:
ALTER DATABASE `имя базы` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci
Вот и всё проблема решена, если у вас есть более лучшие варианты делимся!
Отзывы