Конвертація бази даних dle з utf-8 в windows-1251 - datalife engine (dle)

Конвертація бази даних DLE з utf-8 в windows-1251

Для початку вам потрібно зробити дамп бази даних вашого сайту (можна, і навіть краще, засобами самого движка через адмінпанель сайту), які працюють в кодуванні utf-8, і скачати цей дамп собі на локальний комп'ютер.

Перед тим як почати займатися базою даних, вам потрібно буде видалити файли дистрибутива старого сайту в кодуванні utf-8 і проинсталлировать за новою дистрибутив DLE в кодуванні windows-1251. Від старого дистрибутива вам потрібно залишити на хостингу (НЕ ВИДАЛЯТИ.) Папку uploads і всі файли в ній. Також, скачайте до себе на комп'ютер папку з вашим робочим шаблоном і папку engine / data з усіма файлами конфігурації сайту - вони вам знадобляться, щоб не вводити всі налаштування заново після установки DLE в кодуванні windows-1251.

Базу даних на хостингу можна залишити колишню, але з неї потрібно буде видалити всі таблиці, залишивши її повністю порожній. Потім через phpmyadmin вам буде потрібно на вкладці "Операції" виставити "Порівняння" cp1251_general_ci для цієї бази даних.

Конвертація бази даних dle з utf-8 в windows-1251 - datalife engine (dle)


Для самого сайту, щоб не було проблем з відображенням кодування в браузерах, в вашій панелі управління на хостингу потрібно буде виставити для вашого домену кодування windows-1251 перед початком робіт. Тепер можна проинсталлировать DLE в кодуванні windows-1251 в вашу порожню базу даних. При установці вкажіть префікс таблиць, все логіни і паролі до адмінки сайту і базі даних точно такими ж, які вони у вас були до цього в попередній базі даних і сайті на utf-8. Це допоможе вам уникнути проблем і незрозумілих вам ситуацій в подальшому.

Конвертація бази даних dle з utf-8 в windows-1251 - datalife engine (dle)


Конвертувати базу даних будемо в два етапи.
- Перший етап
Для початку нам потрібно змінити назву кодування з utf-8 на windows-1251 по всій базі даних для всіх таблиць. Для цього викликаємо діалог пошуку і заміни в Notepad ++ і будемо міняти текст в базі даних з utf8 на cp1251. як на скріншоті.

Конвертація бази даних dle з utf-8 в windows-1251 - datalife engine (dle)


Натискаємо "Замінити все" і після натискаємо "Зберегти зміни" (іконка дискети). Для DLE 9.5 на даний момент таблиць повинно бути 35 і стільки ж має бути здійснене замін (див. Скріншот).

Конвертація бази даних dle з utf-8 в windows-1251 - datalife engine (dle)


- Другий етап
Тепер нам потрібно конвертувати саму базу даних в windows-1251. Щоб зберегти кирилицю кирилицею, без всяких крякозябламі, робимо наступне.
Натискаємо кнопку "Кодування" в меню Notepad ++ і потім у випадаючому меню вибираємо "Перетворити в ANSI".

Конвертація бази даних dle з utf-8 в windows-1251 - datalife engine (dle)


Чекаємо поки Notepad ++ закінчить цю операцію (на великих базах це може зайняти час) і після цього натискаємо знову "Зберегти зміни" (іконка дискети).
Якщо ви зробили все саме так, то кирилиця у вашій базі даних збереглася без змін, а в правому нижньому кутку вікна Notepad ++ буде видна кодування "UNIX ANSI".

Для того, щоб вам повернути всі налаштування (не дарма я говорив про необхідність зберегти всі файли з папки engine / data), відкрийте збережений файл config.php, знайдіть рядок

і замініть її на

і потім натискаємо "Зберегти зміни" (іконка дискети). Щоб перевести цей файл з настройками з кодування utf-8 в windows-1251 проробляємо все те ж саме, як і з базою даних, і після знову натискаємо "Зберегти зміни" (іконка дискети). У правому нижньому кутку вікна Notepad ++ буде видна кодування "UNIX ANSI". Можете завантажити тепер цей файл config.php до себе на сайт в папку data - всі налаштування і кодування будуть збережені. Якщо інші файли зі старої папки data у вас теж змінювалися на хостингу, то робите з кожним потрібним вам з них все ті ж дії, а після завантажуєте до себе на сайт в папку data.

З шаблоном потрібно зробити те ж саме - всі файли стилів .css і шаблонів .tpl потрібно перевести в кодування windows-1251 за допомогою Notepad ++ за тим же принципом, а після завантажити до себе на сайт в папку з шаблонами. Не забудьте виставити права на файли відповідно до документацією до DLE.

Ну от і все. Сподіваюся, що ця інформація буде для когось корисною. Пам'ятайте, що щоб уникнути помилок з конвертацією файлів і бази даних, всі операції потрібно робити з точністю і в два етапи, як описано вище.