Проблема latin1_swedish_ci

кодировка

Людям которые занимаются какой ни будь творческой работой всегда нужна своя площадка, на которой можно показать свои работы. Проще говоря, есть необходимость иметь свой сайт. На своем сайте я выкладываю свои видео работы. Хочу описать свою проблему, с которой я столкнулся и с трудом решил ее. Скажу откровенно в поисках ответа перебороздил практически весь Интернет, и как-то по кусочкам нашел выход. Я хочу сказать о кодировке движка, базы данных и западных хостингах. Все знают, в чем проблема буржуйских хостов, это кодировка таблиц базы по умолчанию latin1_swedish_ci.

Да проблема решается легко, но только в том случае если ваши таблицы изначально были в одной кодировке. У меня было иначе, некоторые модули в таблице имели различные кодировки, были и  latin1_swedish_ci и windows 1251 а сама база MySQL  в utf8. Вот тут и начались проблемы, можно без труда используя утилиту SypexDumper 2.0 сохранить дамп базы в нужной кодировке и снова залить в базу и все, можно в самом дампе с помощью программы EmEditor(кстати очень нужная программа) заменить все упоминания  latin1_swedish_ci  на cp1251_general_ci да получается все нормально, кириллица хорошо читается в  MySQL но вот сам сайт вместо русского шрифта показывает кучу знаков вопроса ???????????.  И что только я не делал с базой, как только ее не кодировал, ошибку исправить не смог. Все гениальное как всегда оказалось намного проще.

Меня навели на мысль, что проблема может быть в самом движке. В данном случае движок был PHPFusion 7 но не оригинальная а модифицированная версия, да еще с кучей модулей. Кстати подобная проблема решается не только в движке PHPFusion, подобным образом она была решена и в самописном движке написанным в кодировке  windows-1251. В общем в файле Locale я выставил $locale[‘charset’] = «windows-1251» но этого тоже мало, создаём файл с именем .htaccess но у многих он уже есть, нужно просто его подправить добавив код AddDefaultCharset windows-1251. Но уже наверняка что бы работало, нужно найти в скриптах строку соединяющую движок с базой, в моем случае это файл maincore.php. В файле находим строчку

$db_connect = @mysql_connect($db_host, $db_user, $db_pass);

Скачать все плагины для для

Adobe Premiere и Adobe After Effects 2017

 

$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

Если публикация была полезна вам, просим нажать на иконки социальных сетей!

Похожие записи

Оставить комментарий