За это время я занимался разработкой мобильного терминала.Одной из функций является оставление комментариев.На самом деле сама эта функция относительно проста,но при тестировании QA выдало ошибку,говоря что ввод эмодзи, поставляемого с мобильным телефоном, не удалось отправить. Я был удивлен. Выражение эмодзи также является текстовым содержимым. Почему не удалось отправить? После отладки через Chrome я обнаружил, что не удалось отправить в фоновый режим , то есть фон его не сохранил, а потом я перешел на фоновую ссылку.Проверив данные, я обнаружил, что количество байтов, занимаемых эмодзи, составляет 4 байта, что является проблемой, вызванной кодировкой js. Для фоновой базы данных обычно используется форма хранения UTF-8, которую нельзя сохранить.
Итак, как решить эту проблему, есть много способов решить ее, как переднюю, так и внутреннюю часть можно решить.
1. Измените формат базы данных в фоновом режиме
Выполните инструкцию sql, чтобы изменить формат кодирования базы данных наutf8mb4Форма хранения, эта 4-байтовая форма хранения UTF-8 полностью совместима с предыдущей 3-байтовой формой хранения и может напрямую хранить выражения смайликов, что является наиболее совершенным решением.
2. Используйте кодировку base-64
Например, вы можете использовать base-encode для кодирования выражений смайликов и сохранения их в UTF-8.Вы можете декодировать их, когда вынимаете их, но я не пробовал их.
3. Убить смайлик
Насильственно убивать, предполагается, что премьер-министр не согласится на это
4. Фронтальная обработка
Это преобразование входных смайликов в тег span через сторонний плагин и назначение соответствующего класса, поиск множества смайликов, картинок с выражениями и отправка их на задний план.Преимущество этого в том, что это отображается одинаково на всех устройствах, и не будет никакой двусмысленности.Конечно, недостатком является то, что выражения смайликов обновляются.Возможно, что найденная библиотека изображений выражений смайликов, которую вы найдете, является неполной, и некоторые выражения не могут отображаться на стр., который требует регулярного обслуживания
Порекомендуйте более полезную библиотеку плагиновGitHub.com/node-модуль…
Как использовать Сначала загрузите плагин emoji
<link href="http://cdn.staticfile.org/emoji/0.2.2/emoji.css" rel="stylesheet" type="text/css" />
<script src="http://cdn.staticfile.org/emoji/0.2.2/emoji.js"></script>
Отраженный в этих двух базах кода, этот плагин вообще не должен полагаться на библиотеку jquery.
Это еще проще
var text = document.querySelector('emojiText');
cosnoel.log(jEmoji. unifiedToHTML(text.value))
Если используется спецификация commenJS
$ npm install emoji
var emoji = require('emoji');
console.log('😎', emoji.unifiedToHTML('😎'));