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

Проблема с кодировкой ipb 3.3.1

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

Вот понять не могу, из-за чего такое?

http://imageshack.us/g/233/2805201275609.png/

Сравнение базы: utf8_general_ci

Из-за чего такое может быть?

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


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

У вас точно вся база в utf8?! У вас база не восстановлена случаем?

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


Ссылка на сообщение
05/28/12 06:50 (изменено)

Восстановлена была!

Изменено пользователем Vitalik-x

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


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

Скорее всего неправильно восстановили дамп

 

В инете гуляют инструкции по восстановлению базы как пример вот нашел:

"Для того, чтобы правильно установить дамп, войдите в свою контрольную панель phpMyAdmin. В выпадающем списке «Сопоставление соединения с MySQL» выберите пункт utf8_general_ci. Затем выберите свою базу данных в левой части страницы и перейдите на вкладку «Операции». На открывшейся странице в выпадающем списке «Сравнение» выберите пункт cp1251_general_ci. Теперь при загрузке файла с базой данных (который, как правило, имеет расширение .sql) не забудьте выбрать в соответствующем выпадающем списке кодировку cp1251, и проблема должна исчезнуть."

Я не знаю правильная ли эта инструкция, т.к. не пользовался ей

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


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

А что вас беспокоит? utf8_general_ci и utf8_unicode_ci не сильно различаются, проблем это не создаст. Различия происходят от того, что вся база у вас, скорее всего, в utf8_unicode_ci, а отдельные строки в utf8_general_ci, и оттого при каждом обновлении форума или работе с дампами одно collation постепенно замещается другим.

 

Если же очень хочется красоты, возьмите и прогоните всю базу через скрипт (сохранить в корне форума и выполнить), что приведет все к одному collation:

 

<?php

include("conf_global.php");
$dbhost = $INFO['sql_host'];
$dbuser = $INFO['sql_user'];
$dbpass = $INFO['sql_pass'];
$dbname = $INFO['sql_database'];

//---------------
header('Content-type: text/plain');
$dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() );
$db = mysql_select_db($dbname) or die( mysql_error() );
$sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
$result = mysql_query($sql) or die( mysql_error() );
print "Database changed to utf8_general_ci.\n";

$sql = 'SHOW TABLES';
$result = mysql_query($sql) or die( mysql_error() );
while ( $row = mysql_fetch_row($result) )
{
 $table = mysql_real_escape_string($row[0]);
 $sql = "ALTER TABLE $table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
 mysql_query($sql) or die( mysql_error() );
 print "$table changed to utf8_general_ci.\n";
}

mysql_close($dbconn);

  • Upvote 1

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


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

база 1.5 гига, можно как то скрипт сделать? А то ошибка при запуске, то есть долго думает и просто 403.

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


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

SSH-доступ есть?

 

Если да - залейте этот же скрипт на сервер в папку с форумом, закомментировав строку "header('Content-type: text/plain');", и выполните его из этой папки через командный интерпретатор php:

 

php filename.php

 

Ограничения по времени, скорее всего, в данном случае не будет. По-умолчанию нет.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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