Перейти к публикации

Рекомендованные сообщения

На старом сайте стояла версия движка 1.3, через directadmin иногда делал бэкап mysql базы. Щас хостинг на котором сайт размещался закрылся, пришлось переезжать на другой. Базу закачал через Sypex Dumper. Все бы ничего, но кодировка нарушилась и за место текста в основном вопросительные знаки. Адрес сайта reaport точка net

На сайте Sypex Dumper есть статья про данную проблему. Там написано:

Для коррекции кодировки вашей БД нужно выполнить следующие действия:

Cохранить БД с помощью нового дампера 1.0.8 (предварительно установив в dumper.php следующие значения, CHARSET = 'auto', RESTORE_CHARSET = 'forced->cp1251'), желательно для подстраховки убедиться, что в дампе нормально сохранены русские символы, после чего восстановить таблицы этим же скриптом из только, что созданного дампа. Теперь у таблиц будет правильная кодировка, и phpmyadmin будет правильно показывать и сортировать русские символы.

Но ваши скрипты скорее всего будут показывать вопросительные знаки, так как в них не указывается кодировка соединения cp1251, а используется latin1. Для того чтобы это исправить, нужно во всех ваших php-файлах, где вызывается функция mysql_connect, обычно перед вызовом mysql_select_db добавить следующую строку:

mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());

В итоге ваши скрипты будут нормально работать как со старыми версиями MySQL, так и с новыми.

Кроме того рекомендуется в с помощью phpmyadmin (или другого MySQL клиента) изменить кодировку по умолчанию для вашей БД, чтобы новые таблицы создавались с правильной кодировкой. В pma для этого нужно выбрать БД, зайти в раздел "Операции" и в выпадающем меню "Сравнения" выбрать правильное (соответствующее вашим данным).

-----

Но у меня знания в php не очень большие и я не смог найти и понять в каком файле и что именно надо заменить. Еще раз напоминаю версия движка 1.3

Кто может помочь? Готов даже заплатить пару wmz.

Ссылка на сообщение
Поделиться на других сайтах

в файле dumper.php

Нет. Там же написано: Для того чтобы это исправить, нужно во всех ваших php-файлах, где вызывается функция mysql_connect, обычно перед вызовом mysql_select_db добавить следующую строку.

Просто сам плохо шарю в пхп и так и не понял что именно заменить надо. И в каком из файлов движка.

Только что исправил проблему с кодировкой, смотри третий пункт в статье

У меня другая версия, очень старая. V 1.3

Ссылка на сообщение
Поделиться на других сайтах

Но ваши скрипты скорее всего будут показывать вопросительные знаки, так как в них не указывается кодировка соединения cp1251, а используется latin1. Для того чтобы это исправить, нужно во всех ваших php-файлах, где вызывается функция mysql_connect, обычно перед вызовом mysql_select_db добавить следующую строку:

В DLE не используется latin1 - не знаю правда как в версии 1.3. Но я бы на твоём месте лучше подумал бы о том, что версию пора бы сменить, учитывая что в те времена довольно часто находили уязвимости DLE ;)

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...