Вход • Регистрация

Эмодзи Эмоджи - почему не вставляются в дискрипшн?

  • 19 августа 2017 г.
  • Хотелось бы для привлечения особо модных граждан вставить в описание страницы релевантные эмодзи.
    Попробовал - не сохраняет.
    В чем проблема?
    эмодзи брал тут http://getemoji.com/
  • 20 августа 2017 г.
  • Вот это я не знаю - если бы был в формате шрифта глифов то вообще без проблем а так это надо читать сайт на английском как они это делают.
    • 24 августа 2017 г.
    • В некоторых CMS просто вставляешь валидный эмодзи в поля тайтла и дискрипшена, и после сохранения ничего не обрезается. Диафан режет как сам эмодзи, так и весь текст за ним.
  • 10 сентября 2017 г.
  • Вот тот же вопрос, может быть кто сталкивался? Тоже хочу выделить Decription, путем добавления Emoji. Но после сохранения все пропадает.
  • 19 июля 2018 г. , редакция: 20 июля 2018 г.
  • Цитата
    с этим надо предложение сделать в пожеланиях.

    Ну желать то много всего можно, а можно что-то сделать и самому. Периодически встречаю такие вопросы, вот и решил здесь написать, если кому поможет.
    Цитата
    Диафан режет как сам эмодзи, так и весь текст за ним.

    Ну не соглашусь. К сожалению я не умею объяснять, но попробую (уж как получиться). Весь вопрос в используемой кодировки. То есть cms использует кодировку utf8. Эта кодировка имеет специфичные для MySQL ограничения, не дающие использовать символы, пронумерованные выше 0xFFFD. А так как большинство нужных Вам символов имеют код из неиспользуемого диапазона начиная с 4 байт, то Вы можете попробовать сменить кодировку на utf8mb4. В целом обе группы (utf8 и utf8mb4) относятся к кодировке UTF-8, поэтому неразрешимых проблем не произойдет. При этом сменить кодировку можно разными способами. В качестве примера могу привести довольно простой способ. Он не особо правильный, но прокатит практически всегда, так как другие могут зависеть от разных условий. Например, версии используемого ПО. Так, сам способ:

    1. Выгрузите дамп базы данных сайта в формате sql.
    2. В полученном файле замените встречающиеся выражения CHARSET=utf8 на CHARSET=utf8mb4.
    3. Удалите имеющиеся таблицы в базе данных.
    4. Загрузите измененный дамп обратно.

    Далее не забудьте изменить содержание файла config.php. То есть замените строчку:
    define("DB_CHARSET", 'utf8');
    на следующую строчку
    define("DB_CHARSET", 'utf8mb4');

    Пожалуй все. Теперь, как говорят, резаться символы не будут. Можете спокойно их вставлять.

    Успехов.
    • 19 июля 2018 г.
    • Цитата
      То есть замените строчку:
      define("DB_CHARSET", 'utf8mb4');

      Виталий, опечатка, исходная строчка
      Код
      define("DB_CHARSET", 'utf8');
  • 19 июля 2018 г.
  • Цитата
    Он не особо правильный

    Почему?
    • 20 июля 2018 г.
    • Цитата
      Почему?
      Множество причин. Например, потому, что правильнее сделать все несколькими запросами к базе данных (первый запрос определяет список таблиц, второй - конвертирует в требуемую кодировку).

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум