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

Ошибка бд: Illegal mix of collations

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

Здравствуйте, прошлую проблему с базой пофиксил, появилась новая.

Форум функционирует, но когда перехожу в какую-нибудь тему выдает ошибку

If you are seeing this page, it means there was a problem communicating with our database. Sometimes this error is temporary and will go away when you refresh the page. Sometimes the error will need to be fixed by an administrator before the site will become accessible again. 

You can try to refresh the page by clicking here

 

Помогите пожалуйста, люблю Вас.

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


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

1. В логах /cache/sql_error_*.cgi нужно смотреть код и сообщения ошибки.

2. Для "There appears to be an error with the database" есть общая тема. Либо озаглавить тему таким образом, что-бы она отражала суть проблемы связанной базой данных.

3. В профиле нужно указать реальный адрес форума.

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


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

 Date: Sun, 19 Apr 2015 19:20:08 +0000
Error: 1267 - Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
IP Address: 175.46.78.44 - /index.php/topic/32-howtobesexy 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: SELECT t.*,xxx.* FROM topics t  LEFT JOIN core_tags_cache xxx ON ( xxx.tag_cache_key=MD5(CONCAT('forums',';','topics',';',t.tid)) )   WHERE t.tid=32
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| File                                                                       | Function                                                                      | Line No.          |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
| admin/sources/base/ipsRegistry.php                                         | [app_class_forums].__construct                                                | 1389              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

 

Вот код ошибки

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


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

 

Вообщем сами столбцы были в cp1251 перекодировал их в utf8 ( ничего не изменилось )

При входе в некоторые из них в Сравнение:стоит cp1251_general_ci

Хотя сама таблица в utf8_general_ci, строчки в ней в cp1251_general_ci

Как их быстро пофиксить и нужно ли это ? Как я понял и таблица и столбцы в ней должны быть одинаковой кодировки, что бы данной ошибки не было, вручную очень трудно, есть sql запрос что бы он сам все изменил ?

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


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

Кодировку нужно менять на уровне таблицы, а не для каждого столбца отдельно.

Если прочитать вышеуказанные темы можно найти и sql запрос для конвертирования данных и смены кодировке.

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


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

Кодировку нужно менять на уровне таблицы, а не для каждого столбца отдельно.

Если прочитать вышеуказанные темы можно найти и sql запрос для конвертирования данных и смены кодировке.

 

6Ri3L18.png

gwdvNXU.png

 

Я переставил все в utf8, но не работает всё равно.

Админка работает, Главная форума тоже, в профиль пользователя могу войти, а вот именно в топик - нет, вот код, могу заплатить за решение проблемы только озвучьте цену.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Date: Sun, 19 Apr 2015 21:27:37 +0000
Error: 1267 - Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
IP Address: 37.140.141.38 - /index.php/topic/1541-nedorogie-oteli-po-gollandski/?view=getlastpost
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: SELECT t.*,xxx.* FROM topics t  LEFT JOIN core_tags_cache xxx ON ( xxx.tag_cache_key=MD5(CONCAT('forums',';','topics',';',t.tid)) )   WHERE t.tid=1541
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| File                                                                       | Function                                                                      | Line No.          |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
| admin/sources/base/ipsRegistry.php                                         | [app_class_forums].__construct                                                | 1389              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

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


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

Проблему решил самостоятельно. Возможно кому-нибудь будет полезно.

При SQL запросе ALTER TABLE `имя` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci - Изменилось, но только визуально

При SQL запросе ALTER TABLE имя CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; - Изменилось и форум заработал

Не путайте, подчеркнул.

 

P.S Спасибо данному форуму за помощь, а особенно администрации, которая уже сотню раз проходила этот вопрос, но не устает помогать новичкам, люблю Вас .

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


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

DEFAULT CHARACTER SET - кодировка по умолчанию; то значение, которое показывается в show create table в default. Все новые текстовые столбцы в этой таблице по умолчанию будут иметь эту кодировку.

 

CONVERT TO CHARACTER SET - изменит кодировку всех столбцов а также перекодирует данные в них.

 

To change the table default character set and all character columns (CHAR, VARCHAR, TEXT) to a new character set, use a statement like this:

 

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name];

To change only the default character set for a table, use this statement:

 

ALTER TABLE tbl_name DEFAULT CHARACTER SET charset_name;

 

The word DEFAULT is optional. The default character set is the character set that is used if you do not specify the character set for columns that you add to a table later

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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