Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Zero108

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

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

04/03/13 14:38 (изменено)

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

 

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

 

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

 

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

 

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

 

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

 

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

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

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

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

 

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

 

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

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

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

Изменено пользователем Zero108

Поделиться сообщением


Ссылка на сообщение
Обратите внимание

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
11/02/13 10:42 (изменено)

Добрый день,

 

Возникла необходимость переконвертировать базу в 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

 

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

Изменено пользователем 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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

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