Гость STOLETOV 12/24/15 07:07 @Dmitriy427, Спасибо, очень помогло!!! Поделиться сообщением Ссылка на сообщение
Гость FlemQaa;) 03/06/16 17:02 че за данная ошибка прошу вас помочь написать мне в скайп mySQL query error: SELECT id FROM faq WHERE app='core' AND title = 'ПоиÑк' SQL error: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' SQL error code: 1267 Date: Sunday 06th March 2016 04:37:28 PM —------------------------------------------------------------------------------------------------------------------------------------------------------------------------------— Date: Sun, 06 Mar 2016 16:37:28 +0000 Error: 1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' IP Address: 127.0.0.1 - /admin/install/index.php?app=install§ion=install&do=acphelp —------------------------------------------------------------------------------------------------------------------------------------------------------------------------------— mySQL query error: SELECT id FROM faq WHERE app='core' AND title = 'ПоиÑк' .--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. | File | Function | Line No. | |----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------| | admin/setup/applications/install/sections/install.php | [admin_core_tools_help].helpFilesXMLImport_app | 1481 | '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------' | admin/setup/applications/install/sections/install.php | [install_install].install_acphelp | 139 | '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------' | admin/setup/sources/base/ipsController_setup.php | [install_install].doExecute | 258 | '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------' Поделиться сообщением Ссылка на сообщение
siv1987 2628 03/06/16 19:51 SQL error: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='Как правильно устанавливать IPB 3Ошибка при установке IPB Поделиться сообщением Ссылка на сообщение
Strategius 52 02/09/17 17:18 (изменено) Не поможет. При установке эти настройки не будут учитываться и на следующем шаге они затрутся. Поэтому придется делать небольшой фикс.Открыть admin\setup\sources\base\install.phpНайти 'sql_charset' => '',Заменить на (задать utf8) 'sql_charset' => 'utf8',Увидел эту тему почти через год после установки форума, данную правку не делал (дистрибутив английский). Проблем с кодировкой не наблюдается, все таблицы в utf8_general_ci. Устанавливал на Open Server, где эта кодировка идет по-умолчанию. Ничего страшного, что я не сделал эту правку? Очень беспокоит данный вопрос. Изменено 9 февраля 2017 пользователем Strategius Поделиться сообщением Ссылка на сообщение
f2065 6 02/09/17 18:12 Увидел эту тему почти через год после установки форума, данную правку не делал (дистрибутив английский). Проблем с кодировкой не наблюдается, все таблицы в utf8_general_ci. Устанавливал на Open Server, где эта кодировка идет по-умолчанию. Ничего страшного, что я не сделал эту правку? У меня аналогично было… Один форум апгрейдился, и там до апгрейда написал в конфиге $INFO['sql_charset'] = 'utf8'; в итоге всё нормально там было.А потом на другом форуме (на этом же сервере) - форум ставил с нуля… инсталлятор не правил, в conf_global написать utf8 не смог (до инсталла - затирается, после инсталла - форума падает сразу). Ну и оставил без этой опции. Сам по себе форум работал, русские буквы нормально вводил/выводил. Но, потом начались странности с хуками и внешними использованиями базы, оказалось в базе всё лежало некорректно - в базе русских UTF8 букв не было, все посты с русскими словами местами в HTML-кодах, местами в виде DxDxDxDx… (двухбайтный юникод интерпретируемый базой как ANSI). Хотя поля у базы все обозначены как UTF8… Пришлось наконец найти и прочитать эту инструкцию, установить форум заново с правкой \install.php - и там уже всё нормально стало. Очевидно вам надо посмотреть в phpMyAdmin как выглядят русские тексты в таблицах b_forum_perms b_groups b_message_posts b_posts.И попробовать написать в conf_global.php строку $INFO['sql_charset'] = 'utf8'; - если форум не упадёт то значит он полноценно в UTF8 работает. 1 Поделиться сообщением Ссылка на сообщение
Strategius 52 02/09/17 18:19 (изменено) Большое спасибо за подробный ответ! как выглядят русские тексты в таблицах b_forum_perms b_groups b_message_posts b_postsВыглядят корректно, также, как и на форуме - родная кириллица :) И попробовать написать в conf_global.php строку $INFO['sql_charset'] = 'utf8';Эта строчка давно уже стоит в конфиге, я ее сразу поставил, а вот про то, что ее нужно еще и в установочный файл прописать, не знал. Значит, точно все нормально, и та строчка не обязательно нужна была при установке? Я просто испугался, форум уже год почти работает хорошо, а тут эту тему увидел, и подумал, что неправильно установил... Изменено 9 февраля 2017 пользователем Strategius Поделиться сообщением Ссылка на сообщение
f2065 6 02/09/17 18:31 Значит, точно все нормально, и та строчка не обязательно нужна была при установке? Ну вот у меня при установке с нуля 3.4.9 - написать в conf_global.php $INFO['sql_charset'] = 'utf8'; не получалось - форум падал (вообще, даже в админку не войти, кэши в базе и на диске сбрасывал - не помогало). А поставил заново с правкой \install.php - и там уже сразу в конфиге стало $INFO['sql_charset'] = 'utf8'. Так что в вашем случае видимо всё нормально каким-то образом получилось. Поделиться сообщением Ссылка на сообщение
Strategius 52 02/09/17 18:37 (изменено) Так что в вашем случае видимо всё нормально каким-то образом получилось.Может, потому что устанавливал на локалхосте (Open Server)? Там кодировка БД сервера - utf8 по-умолчанию. Изменено 9 февраля 2017 пользователем Strategius Поделиться сообщением Ссылка на сообщение
f2065 6 02/09/17 18:59 Там кодировка БД сервера - utf8 по-умолчанию.У меня в серверном окружении везде где только можно задано UTF8 - и в MySQL конфигах, и в апаче, и ещё где-то там… Во всех выводах переменных на тему кодировок - UTF8. Однако вот IPB без правки install.php всё равно вставал криво. Поделиться сообщением Ссылка на сообщение
Strategius 52 02/09/17 19:13 У меня в серверном окружении везде где только можно задано UTF8 - и в MySQL конфигах, и в апаче, и ещё где-то там… Во всех выводах переменных на тему кодировок - UTF8. Однако вот IPB без правки install.php всё равно вставал криво.Вот это засада... И что же делать? Где же гарантия, что у меня установился правильно? Переустановить - невозможно, слишком сильно кастомизирован форум... Поделиться сообщением Ссылка на сообщение
f2065 6 02/09/17 19:21 Где же гарантия, что у меня установился правильно?Ну ведь суть правки install.php - это задать кодировку sql_charset для создаваемого conf_global.php. Если в conf_global.php уже стоит utf8 и при этом движок прямо сразу же не падает - то проблем по идее нет. Поделиться сообщением Ссылка на сообщение
Strategius 52 02/09/17 19:33 (изменено) Ну ведь суть правки install.php - это задать кодировку sql_charset для создаваемого conf_global.php. Если в conf_global.php уже стоит utf8 и при этом движок прямо сразу же не падает - то проблем по идее нет.Похоже, что действительно все в порядке. Провел эксперимент: при выставлении в conf_global.php $INFO['sql_charset'] = 'latin1'; форум падает и выдает такую ошибку: Your settings could not be read by IP.Board. This is a fatal error and IP.Board cannot function while this issue persists. This issue is generally caused by changing your character set in the ACP to one that does not support data stored in the rest of your settings, or by restoring a database backup/completing a server transfer and importing your database tables using the wrong character set or collation. You should contact IPS Technical Support for further assistance.При выставлении $INFO['sql_charset'] = 'ansi'; ошибка иная: There appears to be an error with the database. 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При выставлении $INFO['sql_charset'] = 'utf8'; все хорошо :) Значит, все в порядке? Изменено 9 февраля 2017 пользователем Strategius Поделиться сообщением Ссылка на сообщение