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

Вставка Emoji

Опубликовано:

Не работают смайлики эмодзи на форуме, при добавлении с телефона и предварительном просмотре все нормально, но при отправке сообщения все пусто и более того, весь текст написанный после них тоже пропадает, может проблема в кодировке? В то же время видел форум на версии 2.х с работающими смайлами <_<

Рекомендованные сообщения

Опубликовано:
  • Автор

Тест ipbskins с телефона

 

Тест ipbskins с телефона

 

Хм, тоже не работает..

Опубликовано:

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

Опубликовано:
  • Автор

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

 

Трудно ли на него перейти своими силами? :) И чем это может грозить форуму, глюки и пр. ?

Опубликовано:

перекодировать базу в utf8mb4

 

 

utf8mb4 - набор символов, используемый для хранения 4 байта в MySQL, внедрён в 2010 году начиная с версии 5.5.3. Главное отличие utf8mb4 от utf8 в том, что utf8mb4 задействует более полные возможности кодировки UTF8, позволяя поддерживать все языки и специальные символы, не поддерживающие utf8 (например японский язык или смайлики из ios - emoji).

 

Однако, как можно догадаться, если utf8mb4 использует для хранения 1 символа 4 байта, то база данных может увеличиться в размере, если сравнивать с точно такой же базой данных в utf8. В наше время немного увеличенный размер базы данных не является существенно проблему, по этому, если вы стоите перед выбором использовать utf8 или utf8mb4 набор символов - используйте utf8mb4.

Опубликовано:

Будет грозить проблемами с индексами. Если тип таблиц 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.

Опубликовано:
  • Автор

Спасибо, @siv1987, да не хочется из-за этого что-то сломать :) В 4 версии я тоже так понимаю Эмодзи не вставишь с телефона? Интересно, почему не переделывают если пишут, что размер БД не сильно увеличится? Кстати, возможно это как то связано с пустыми сообщениями - http://ipbskins.ru/forum/topic14085.html

Опубликовано:

Интересно, почему не переделывают если пишут, что размер БД не сильно увеличится?

Потому что она не является стандартной кодировкой и ее поддержка появилась в mysql 5.5.3. Кто хочет перейти на другие кодировки пусть себе переделывают как хотят.

Опубликовано:
  • Автор

Понял, лучше не стоит менять :D Кстати, я что-то не подумав написал, в 4 версии это и не нужно особо, там доступен редактор.

Опубликовано:
  • Автор

Вот и на американском форуме не рекомендуют менять кодировку.

 

10894577m.png

  • 3 года спустя...
Опубликовано:
  • Автор

Возможно ли сделать, чтобы не пропадал текст после эмоджи? Интересное наблюдение: при отправке быстрого ответа не отображаются только смайлы эмоджи слова не пропадают, при публикации через расширенный редактор пропадают слова после эмоджи :( В мобильной версии везде (даже в быстром ответе) после эмоджи пропадают слова, думаю это связано с Аяксом.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 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.