ovi8 5 08/12/16 08:19 Не работают смайлики эмодзи на форуме, при добавлении с телефона и предварительном просмотре все нормально, но при отправке сообщения все пусто и более того, весь текст написанный после них тоже пропадает, может проблема в кодировке? В то же время видел форум на версии 2.х с работающими смайлами <_< Поделиться сообщением Ссылка на сообщение
ovi8 5 08/12/16 08:22 Тест ipbskins с телефона Тест ipbskins с телефона Хм, тоже не работает.. Поделиться сообщением Ссылка на сообщение
siv1987 2628 08/12/16 10:13 В стандартной кодировки utf8 один символ может кодироватся максимум из 3-х байтов, символ эмодзи занимает четыре байта. Для них нужно переходить на расширеный utf8mb4. 2 Поделиться сообщением Ссылка на сообщение
ovi8 5 08/12/16 10:16 В стандартной кодировки utf8 один символ может кодироватся максимум из 3-х байтов, символ эмодзи занимает четыре байта. Для них нужно переходить на расширеный utf8mb4. Трудно ли на него перейти своими силами? :) И чем это может грозить форуму, глюки и пр. ? Поделиться сообщением Ссылка на сообщение
Атаман 463 08/12/16 10:35 перекодировать базу в utf8mb4 utf8mb4 - набор символов, используемый для хранения 4 байта в MySQL, внедрён в 2010 году начиная с версии 5.5.3. Главное отличие utf8mb4 от utf8 в том, что utf8mb4 задействует более полные возможности кодировки UTF8, позволяя поддерживать все языки и специальные символы, не поддерживающие utf8 (например японский язык или смайлики из ios - emoji). Однако, как можно догадаться, если utf8mb4 использует для хранения 1 символа 4 байта, то база данных может увеличиться в размере, если сравнивать с точно такой же базой данных в utf8. В наше время немного увеличенный размер базы данных не является существенно проблему, по этому, если вы стоите перед выбором использовать utf8 или utf8mb4 набор символов - используйте utf8mb4. 1 Поделиться сообщением Ссылка на сообщение
siv1987 2628 08/12/16 10:36 Будет грозить проблемами с индексами. Если тип таблиц myisam - максимальный размер индекса в нем составляет 1000 байт, поэтому при переходе на utf8mb4 индексы которые имеют размер в 255 символов нужно заменить на 250 чтобы уместится в 1000 байт. Если тип таблиц innodb, нужно увеличить максимальный размер индекса до 1024, по умолчанию он составляет 767 байт. Prefix support and lengths of prefixes (where supported) are storage engine dependent. For example, a prefix can be up to 767 bytes long for InnoDB tables or 3072 bytes if the innodb_large_prefix option is enabled. For MyISAM tables, the prefix limit is 1000 bytes. 1 Поделиться сообщением Ссылка на сообщение
ovi8 5 08/12/16 10:55 Спасибо, @siv1987, да не хочется из-за этого что-то сломать :) В 4 версии я тоже так понимаю Эмодзи не вставишь с телефона? Интересно, почему не переделывают если пишут, что размер БД не сильно увеличится? Кстати, возможно это как то связано с пустыми сообщениями - http://ipbskins.ru/forum/topic14085.html Поделиться сообщением Ссылка на сообщение
siv1987 2628 08/12/16 11:00 Интересно, почему не переделывают если пишут, что размер БД не сильно увеличится?Потому что она не является стандартной кодировкой и ее поддержка появилась в mysql 5.5.3. Кто хочет перейти на другие кодировки пусть себе переделывают как хотят. Поделиться сообщением Ссылка на сообщение
ovi8 5 08/12/16 11:04 Понял, лучше не стоит менять :D Кстати, я что-то не подумав написал, в 4 версии это и не нужно особо, там доступен редактор. Поделиться сообщением Ссылка на сообщение
ovi8 5 08/12/16 12:09 Вот и на американском форуме не рекомендуют менять кодировку. Поделиться сообщением Ссылка на сообщение
ovi8 5 11/03/19 07:09 Возможно ли сделать, чтобы не пропадал текст после эмоджи? Интересное наблюдение: при отправке быстрого ответа не отображаются только смайлы эмоджи слова не пропадают, при публикации через расширенный редактор пропадают слова после эмоджи :( В мобильной версии везде (даже в быстром ответе) после эмоджи пропадают слова, думаю это связано с Аяксом. Поделиться сообщением Ссылка на сообщение