Web icon indicating copy to clipboard operation
Web copied to clipboard

Из-за символов не сохраняются комментарии.

Open IIIef opened this issue 6 years ago • 7 comments

Если создать мут и ввести комментарии, то информация с символами к примеру вот такими 🔥FluffyCat🔥 не будет сохраняться, а ник игрока будет скрыт в таблице.

1

IIIef avatar Aug 27 '19 18:08 IIIef

Какая-то нездоровая вещь. Я правильно понимаю, что строка с огоньками в данном случае - это никнейм? В базе он тоже не записался?

CrazyHackGUT avatar Aug 27 '19 18:08 CrazyHackGUT

Да, все правильно. Раньше всякие такие ники попадались, но я не придавал этому значение, пока один игрок не обратился, а в комментарии к муту я обычно добавляю лог чата с сервака. В итоге комментарий был наполовину пуст из-за этих символов.

IIIef avatar Aug 27 '19 18:08 IIIef

Ну, отчасти это вроде как и баг, но вроде как и фича. Поясню. У MySQL есть две разных кодировки UTF8 (если не учитывать коллации): UTF8 и UTF8MB4. Отличие заключается в том, что первая хранит символы максимум длиною в 2 байта, а вторая - 4 байта.

SourceBans использует UTF8 из-за проблем со стороны сервера: он попросту не понимает UTF8MB4 (поправочка: не понимал до SM 1.10, который пока в разработке). Смайлики как раз используют 4 байта. Не понятно пока, почему MySQL переварил строку, не смотря на такую разницу в размере символов. Обычно он ошибку выплёвывал, что записать не может, а не просто убирал значение колонки насовсем.

Возможно, с реализацией #236 переедем на UTF8MB4. Пока это не представляется возможным.

CrazyHackGUT avatar Aug 27 '19 18:08 CrazyHackGUT

Хорошо, будем ждать лучших времен)

IIIef avatar Aug 27 '19 18:08 IIIef

С сегодняшнего утра в принципе производятся попытки реализовать вышеупомянутую Issue в жизнь. Так что возможно переезд не за горами.

CrazyHackGUT avatar Aug 27 '19 18:08 CrazyHackGUT

Привет, та-же проблема. Как вариант - можно кодировать символы юникодом, ну или просто их удалять, пока нет альтернативы.

Да, кстати, это работает не только с мутом. Сегодня пытался забанить игрока у которого в нике смайлик, думаю ты понял какой результат ;)

Munoon avatar Sep 14 '19 08:09 Munoon

Решил проблему вот таким методом) img-2020-06-07-22-11-46

Пока все нормально работает.

IIIef avatar Jun 07 '20 19:06 IIIef