Ascold Posted February 27, 2014 Share Posted February 27, 2014 Попытаюсь описать ситуацию предельно подробно. Версия движка 2.1.4Необходимо перенести форум с локалхоста на удалённый сервер. На локалхосте весь текст на форуме отображается верно.Делаю по инструкции:1. Заливаю файлы на удалённый сервер.2. На локал хосте делаю экспорт дампа базы данных в архив .gz, предварительно проверив кодировки.Главная страница phpmyadmin Видно, что кодировка mysql - utf-8Открываем нужную базуВидим, что кодировка таблиц тоже utf-8 3. Создаю на удалённом сервере необходимую базу (попутно меняя данные в conf_global), проверив на нём кодировку mysql по умолчанию4. Импортирую готовый дамп в эту базу.Настройки форума в админке на локале и удалённом - идентичны. В итоге на удалёнке получаю "????" вместо текста тем и сообщений, при этом все форумные обозначения отображаются верно - http://teonanakatl.com/forum1/Изменения кодировки на utf-8 в админке (рис. из п.4) ничего не даёт. Добавление сточки $INFO['sql_charset'] = 'utf8'; в conf_global ничего не даёт. Редактирование .htaccess проблему не решило. Подскажите, что я делаю не так? Помогите разобраться, могу предоставить любую информацию о настройках. ЗЫСмущает вид таблиц на локале:и на удалёнке: Link to comment Share on other sites More sharing options...
danilka Posted February 28, 2014 Share Posted February 28, 2014 ну так проверьте вот это смущающее вас различие) скорее всего из-за него и так всё выглядит Link to comment Share on other sites More sharing options...
Атаман Posted February 28, 2014 Share Posted February 28, 2014 для 2, кодировка cp_1251_general_ci нужна Link to comment Share on other sites More sharing options...
Ascold Posted February 28, 2014 Author Share Posted February 28, 2014 ну так проверьте вот это смущающее вас различие) скорее всего из-за него и так всё выглядитБуду очень благодарен, если подскажите что конкретно нужно сделать! Link to comment Share on other sites More sharing options...
Ascold Posted February 28, 2014 Author Share Posted February 28, 2014 для 2, кодировка cp_1251_general_ci нужнаМожно подробнее? На удалённом сервере необходимо создать базу в кодировке cp_1251_general_ci ? Но у меня нет прав создавать базы через phpmyadmin в нужной мне кодировке, базу можно создать только через панель управления в кодировке по умолчанию, т.е utf-8.Может быть можно поменять кодировку через mysql-запрос? И как это правильно сделать - менять кодировку пустой вновь созданной базы, прогружая её впоследствии? Или можно поменять кодировку в уже прогруженной базе?Если не сложно, опишите подробно весь алгоритм действий. Link to comment Share on other sites More sharing options...
Атаман Posted February 28, 2014 Share Posted February 28, 2014 Изучите Предыдущие версии используют сравнение cp1251_general_ci Запрос, смены сравнения.ALTER DATABASE `ИМЯ БД` DEFAULT CHARACTER SET СТАРАЯ кодировка COLLATE cp1251_general_ci Link to comment Share on other sites More sharing options...
Ascold Posted February 28, 2014 Author Share Posted February 28, 2014 (edited) ИзучитеИзучил. Там нет ни слова о проблемах кодировки, информация только об установке. Установить форум (точнее перенести) получилось без проблем. А вот с кодировкой никак не могу совладать!Запрос, смены сравнения.ALTER DATABASE `ИМЯ БД` DEFAULT CHARACTER SET СТАРАЯ кодировка COLLATE cp1251_general_ciДелаю запрос для пустой, только что созданной на удалёнке БД:ALTER DATABASE `ИМЯ БД` DEFAULT CHARACTER SET utf8_unicode_ci COLLATE cp1251_general_ciПолучаю ошибку:#1115 - Unknown character set: 'utf8_unicode_ci'При замене utf8_unicode_ci на utf8_general_ci - такая же ошибка.Такой запрос:ALTER DATABASE `ИМЯ БД` DEFAULT CHARACTER SET utf8 COLLATE cp1251_general_ciДаёт такую ошибку:#1253 - COLLATION 'cp1251_general_ci' is not valid for CHARACTER SET 'utf8'Прогружаю созданную на удалёнке БД с дампа.Делаю анологичный запрос для этой же, но уже прогруженной БД - получаю те же самые ошибки!Что теперь делаю не так? Edited February 28, 2014 by Ascold Link to comment Share on other sites More sharing options...
siv1987 Posted February 28, 2014 Share Posted February 28, 2014 Запрос левый, там две разные кодировки. ALTER DATABASE `ИМЯ БД` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT CHARACTER SET utf8Зачем вы ставите utf8, если вам нужно cp1251? Link to comment Share on other sites More sharing options...
Ascold Posted March 1, 2014 Author Share Posted March 1, 2014 Зачем вы ставите utf8, если вам нужно cp1251?В первоначальном указании было:ALTER DATABASE `ИМЯ БД` DEFAULT CHARACTER SET СТАРАЯ кодировка COLLATE cp1251_general_ciЯ не очень силён в синтаксисе mysql, поэтому и подумал, что "старая" кодировка это та, которая у меня установлена сейчас.Сейчас выполнил запрос:ALTER DATABASE `ИМЯ БД` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ciВыполнился корректно. Но это не помогло, по прежнему вместо текста "????" - http://teonanakatl.com/forum1/Пробовал делать запрос как для пустой базы, так и с прогруженным содержимым - результат один. Link to comment Share on other sites More sharing options...
siv1987 Posted March 1, 2014 Share Posted March 1, 2014 Вам нужно:- создать бд- установить ей кодировку cp1251 выполнив запрос- импортировать бэкапТакже проследить чтобы бэкап был сделан в правильной кодировке. У вас на локалхосте что, бд в utf8? Link to comment Share on other sites More sharing options...
Ascold Posted March 1, 2014 Author Share Posted March 1, 2014 (edited) Вам нужно- создать бд- установить ей кодировку cp1251 выполнив запрос- импортировать бэкапТакже проследить чтобы бэкап был сделан в правильной кодировке.Всё это проделывал уже миллион раз!! Не работает! И не могу разобраться в чём дело, прямо мистика!У вас на локалхосте что, бд в utf8?Конечно. В первом посте я давал скриншот БД на локалхосте: Edited March 1, 2014 by Ascold Link to comment Share on other sites More sharing options...
siv1987 Posted March 1, 2014 Share Posted March 1, 2014 Вот что значит когда бардак в кодировке.Поставьте sypex dumper, и задайте принудительно кодировка экспорта cp1251. Откройте дамп расширенным блокнотом типа notepad++ и убедитесь что там cp1251. На сервере также поставьте дампер и разверните сделанный им бэкап. Сравнение (COLLATE) таблиц наверное тоже придется поменять, это будет желательно сделать в бэкапе перед импортом. Вообще имхо тут уже пора обращаться к специалистам. В какой кодировке работает локальный mysql сервер и что прописано в conf_global.php для mysql_codepage? sql_charset сменился только начиная с 3x, и прописывать его там не нужно. Link to comment Share on other sites More sharing options...
Ascold Posted March 5, 2014 Author Share Posted March 5, 2014 Вот что значит когда бардак в кодировке.Вобщем я перепробавал все известные мне, а так же все указанные тут варианты. Не срабатывает НИЧЕГО! Обращался к хостеру, он мало того что не решил проблему, так даже не смог установить причину, посоветовал обратиться к специалисту именно по IPB. Ну реально чудеса - на предыдущем хостинге форум работал (а значит никакого бардака в кодировке нет!), на локале форум тоже прекрасно работает, на нынешнем же хосте с абсолютно идентичными настройками - не работает!Вообще имхо тут уже пора обращаться к специалистам.Подскажите, можно ли тут на форуме найти такого специалиста? Проблема требует решения, не бесплатно разумеется. Буду очень благодарен. Link to comment Share on other sites More sharing options...
siv1987 Posted March 5, 2014 Share Posted March 5, 2014 а значит никакого бардака в кодировке нет!Если он работал, и кодировка таблиц utf8 - значит уже есть, иначе вы бы непременно имели баги с мультибайтовыми строками в utf8. То, что работает далеко не означает что все нормально, неправильное сравнение таблиц уже не нормально. А пойди знай еще в какой кодировке было соединение с mysql сервером. Подскажите, можно ли тут на форуме найти такого специалиста?Можно. Пишите в ЛС. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now