Перейти к публикации
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.

Ошибка бд: 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

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

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.