levels-ranks-core icon indicating copy to clipboard operation
levels-ranks-core copied to clipboard

UnusualKills: charset error

Open Paranoiiik opened this issue 4 years ago • 10 comments

При работе с релизным ядром 3.1.6 после установки его и модулей на чистую базу порой возникают подобные ошибки:

[levels_ranks/levelsranks_unusualkills.smx] SQL_Callback: error when sending the request (339) - Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='. Как их исправлять, ума не приложу. На одном из форумов человек решил проблему так, но, судя по исходнику модуля, они и так заключаются в правильные кавычки. SM - 1.10.0.6490 MySQL - 5.5.68-MariaDB-cll-lve - MariaDB Server "lr_db_character_type" "0"

Paranoiiik avatar Mar 21 '21 12:03 Paranoiiik

Меня смущает, что при "lr_db_character_type" "0" такое возможно. Смотря на код и на результаты тестов исполнения ядром построения структуры в БД, при значении 0 у всех колонок в таблице ядра (lvl_base) должен быть тип для Сравнения utf8_general_ci или utf8mb4_general_ci, а не utf8_unicode_ci, как описывает ошибка.

Wend4r avatar Mar 21 '21 12:03 Wend4r

Если стоит значение 1 у "lr_db_character_type", то да, модуль UnusualKills не смотрит на эту настройку, чтобы выставить у себя же у колонки SteamID тип Сравнения utf8_unicode_ci, и в этом случае возможна такая ошибка.

Wend4r avatar Mar 21 '21 13:03 Wend4r

Меня смущает, что при "lr_db_character_type" "0" такое возможно. Смотря на код и на результаты тестов исполнения ядром построения структуры в БД, при значении 0 у всех колонок в таблице ядра (lvl_base) должен быть тип для Сравнения utf8_general_ci или utf8mb4_general_ci, а не utf8_unicode_ci, как описывает ошибка.

Как есть. Не знаю даже, в какую сторону копать

Paranoiiik avatar Mar 21 '21 21:03 Paranoiiik

Вернуть хотя б что ли возможность временно 3.1.5 юзать, ибо даже пункты в меню не открываются у модулей необычных убийств и статистики карт. Я понимаю, что никто не хочет толком заниматься LR. У разработчиков нашлось свободное время, разработчики обновили, но ведь и дальше нужны критически важные исправления.

Может, всё-таки, есть какие-то идеи по тому, как исправить это? Может, есть смысл организовать крауд на обновление, если просто так LR отнимает ценное время?

Paranoiiik avatar Jun 02 '21 13:06 Paranoiiik

при значении 0 у всех колонок в таблице ядра (lvl_base) должен быть тип для Сравнения utf8_general_ci или utf8mb4_general_ci, а не utf8_unicode_ci, как описывает ошибка.

И, кстати, в таблицах модулей стоит utf8_general_ci

Paranoiiik avatar Jun 02 '21 13:06 Paranoiiik

https://github.com/levelsranks/levels-ranks-core/blob/2144d62b2db3670efeb2e4f588845b8caf2b877b/Game%20Server/addons/sourcemod/scripting/levels_ranks/database.sp#L154

Именно это поломало аддоны. @Wend4r будут какие-то фиксы? И данная проблема охватывает не только этот модуль.

Classes123 avatar Oct 11 '21 08:10 Classes123

https://github.com/levelsranks/levels-ranks-core/blob/2144d62b2db3670efeb2e4f588845b8caf2b877b/Game%20Server/addons/sourcemod/scripting/levels_ranks/database.sp#L154

@Wend4r будут какие-то фиксы?

https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/configs/levels_ranks/settings.ini#L126-L129

https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/scripting/include/lvl_ranks.inc#L61

Wend4r avatar Oct 11 '21 08:10 Wend4r

https://github.com/levelsranks/levels-ranks-core/blob/2144d62b2db3670efeb2e4f588845b8caf2b877b/Game%20Server/addons/sourcemod/scripting/levels_ranks/database.sp#L154

@Wend4r будут какие-то фиксы?

https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/configs/levels_ranks/settings.ini#L126-L129

https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/scripting/include/lvl_ranks.inc#L61

Так причем тут это, если сопоставление не зависит от значения данного параметра в конфиге?

Classes123 avatar Oct 11 '21 10:10 Classes123

https://github.com/levelsranks/levels-ranks-core/blob/2144d62b2db3670efeb2e4f588845b8caf2b877b/Game%20Server/addons/sourcemod/scripting/levels_ranks/database.sp#L154

@Wend4r будут какие-то фиксы?

https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/configs/levels_ranks/settings.ini#L126-L129

https://github.com/levelsranks/levels-ranks-core/blob/master/Game%20Server/addons/sourcemod/scripting/include/lvl_ranks.inc#L61

Так причем тут это, если сопоставление не зависит от значения данного параметра в конфиге?

Значит это проблема модуля, который не адаптирован под опциональный unicode. Сопоставление и играет роль в данной проблеме, что в 2-ух разных таблицах ядра и модуля отличается кодировка у столбцов

Wend4r avatar Oct 11 '21 11:10 Wend4r

Тогда будет фикс модулей?

Classes123 avatar Oct 11 '21 12:10 Classes123