Skip to content

Скрипт для конвертирования кодировки базы данных

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

 

Техподдержка посоветовала переконвертировать базу данных в 'real' utf8.

 

Скрипт и мануал в аттаче.

 

Скрипт уникален тем, что, со слов автора, может конвертировать базу данных из любой кодировки в любую другую, хотя автор скрипта и оговаривается, что скрипт тестировался только для конвертации базы данных в кодировку utf8.

 

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

 

Вкратце процесс использования скрипта, который подробно описан в прилагаемой к скрипту инструкции, выглядит так:

 

1. Скрипт заливается в корень форума. В нем прописываются некоторые параметры: имя пользователя новой базы данных, имя новой базы данных, пароль новой базы данных и пр.

2. Руками создается новая база данных, к которой добавляется пользователь (можно от старой базы данных) и пароль.

3. По ssh запускается скрипт, который конвертирует старую базу данных в новую базу данных, ничего не меняя в старой базе данных.

4. В конфигурационном файле conf_global.php прописываются данные для соединения с новой базой данных вместо данных для соединения со старой базой данных. Также в конфигурационном файле может потребоваться указать кодировку соединения, например,

 

$INFO['sql_charset']= 'utf8';

 

Предыстория для знающих английский язык.

Место, где изначально живет скрипт.

Конвертатор базы данных.rar

Edited by Zero108

Featured Replies

Обратите внимание

"Board url", указанный вами в профиле, некорректен, либо недоступен на данный момент. Пожауйста, заполните его, потому что он скорее всего потребуется при диагностике вашей проблемы.

4. В конфигурационном файле conf_global.php прописываются данные для соединения с новой базой данных вместо данных для соединения со старой базой данных.

На самом деле в conf_global.php остаются данные для подключения к старой базы, а в конвертере прописываются данные для новой базы ($host, $user, $pass, $database)

  • Author

Вы пишите про пункт 3. За пунктом 3 идет п.4, где указаны окончательные настройки, чтобы подключить форум к уже сконвертированной базе.

Но если так, то да.

  • 6 months later...

Добрый день,

 

Возникла необходимость переконвертировать базу в utf8, скачал скрипт, все сделал по инструкции, но к сожелению выдает ошибку.

Кто-то сталкивался с подобной ошибкой?

 

root@server:~# /usr/bin/php /home/user/www/glori.org.ua/convertCharset.php
Starting...
PHP Warning:  require_once(./initdata.php): failed to open stream: No such file or directory in /home/user/www/glori.org.ua/convertCharset.php on line 15
PHP Fatal error:  require_once(): Failed opening required './initdata.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/user/www/glori.org.ua/convertCharset.php on line 15

 

Права всем файлам дал.

Edited by s.chornyi

Добрый день,

 

Возникла необходимость переконвертировать базу в utf8, скачал скрипт, все сделал по инструкции, но к сожелению выдает ошибку.

Кто-то сталкивался с подобной ошибкой?

 

root@server:~# /usr/bin/php /home/user/www/glori.org.ua/convertCharset.php
Starting...
PHP Warning:  require_once(./initdata.php): failed to open stream: No such file or directory in /home/user/www/glori.org.ua/convertCharset.php on line 15
PHP Fatal error:  require_once(): Failed opening required './initdata.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/user/www/glori.org.ua/convertCharset.php on line 15

 

Права всем файлам дал.

 

в 15 строке файла convertCharset.php есть вызов initdata.php из текущего, по отношению к convertCharset.php, каталога

оно там ТОЧНО есть?

если есть, то права там 644 или 666?

на "include_path='.:/usr/share/php:/usr/share/pear'" не обращай внимание, оно всегда ищет в каталогах по-умолчанию, если не находит нужный файл в нужном каталоге

можно ещё попробовать запустить так:

 

cd /home/user/www/glori.org.ua/

php ./convertCharset.php

 

естественно, если рядом с convertCharset.php лежит initdata.php

Сталкивался с аналогичной проблемой. Нужно файл convertCharset.php

Правильно создавать не менять руками txt на php, а через нотепад или подобные программы.

Бывает такое, что 2ой раз нельзя запускать скрипт, то базу испортите, лучше бекап поднять и повторить процедуру.

Сталкивался с аналогичной проблемой. Нужно файл convertCharset.php

Правильно создавать не менять руками txt на php, а через нотепад или подобные программы.

 

ведь ясно написано: Failed opening required './initdata.php'

оно не может открыть инитдату, а не convertCharset.php

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.