Людям которые занимаются какой ни будь творческой работой всегда нужна своя площадка, на которой можно показать свои работы. Проще говоря, есть необходимость иметь свой сайт. На своем сайте я выкладываю свои видео работы. Хочу описать свою проблему, с которой я столкнулся и с трудом решил ее. Скажу откровенно в поисках ответа перебороздил практически весь Интернет, и как-то по кусочкам нашел выход. Я хочу сказать о кодировке движка, базы данных и западных хостингах. Все знают, в чем проблема буржуйских хостов, это кодировка таблиц базы по умолчанию latin1_swedish_ci.
Да проблема решается легко, но только в том случае если ваши таблицы изначально были в одной кодировке. У меня было иначе, некоторые модули в таблице имели различные кодировки, были и latin1_swedish_ci и windows 1251 а сама база MySQL в utf8. Вот тут и начались проблемы, можно без труда используя утилиту SypexDumper 2.0 сохранить дамп базы в нужной кодировке и снова залить в базу и все, можно в самом дампе с помощью программы EmEditor(кстати очень нужная программа) заменить все упоминания latin1_swedish_ci на cp1251_general_ci да получается все нормально, кириллица хорошо читается в MySQL но вот сам сайт вместо русского шрифта показывает кучу знаков вопроса ???????????. И что только я не делал с базой, как только ее не кодировал, ошибку исправить не смог. Все гениальное как всегда оказалось намного проще.
Меня навели на мысль, что проблема может быть в самом движке. В данном случае движок был PHP–Fusion 7 но не оригинальная а модифицированная версия, да еще с кучей модулей. Кстати подобная проблема решается не только в движке PHP–Fusion, подобным образом она была решена и в самописном движке написанным в кодировке windows-1251. В общем в файле Locale я выставил $locale[‘charset’] = “windows-1251” но этого тоже мало, создаём файл с именем .htaccess но у многих он уже есть, нужно просто его подправить добавив код AddDefaultCharset windows-1251. Но уже наверняка что бы работало, нужно найти в скриптах строку соединяющую движок с базой, в моем случае это файл maincore.php. В файле находим строчку
$db_connect = @mysql_connect($db_host, $db_user, $db_pass);
$db_select = @mysql_select_db($db_name);
И прямо под этими строками ниже добавляем
mysql_query (‘SET NAMES cp1251’);
mysql_query (‘SET CHARACTER SET cp1251’);
Проблема с кодировкой решена, но все таки я советую тем кто берет хостинги за бугром, сразу после установки движка зайти в базу данных MySQL и исправить кодировку выставленную по умолчанию хостерами. Также после установки модулей также проверять кодировку. Иначе вам так же придется столкнуться с данной проблемой. Обязательно скачайте бесплатную утилиту SypexDumper на официальном сайте. http://sypex.net/ Это утилита для работы с базами данных. Незаменимая вещь для архивации и восстановления вашей базы данных. Используя эту утилиту вы забудете о проблемах с восстановлением своего сайта.
Также всегда имейте в своем архиве программу EmEditor pro это прекрасная программа для правки дампа базы данных. Скачать можно тут http://depositfiles.com/files/00i3wjujv