Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

 

Техподдержка посоветовала переконвертировать базу данных в '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, где указаны окончательные настройки, чтобы подключить форум к уже сконвертированной базе.

Опубликовано:

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

  • 6 месяцев спустя...
Опубликовано:

Добрый день,

 

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

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

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.