Как появиться смайлик в TinyMCE версии 5.06?

Я пытаюсь вставить Emoji с помощью версии TinyMCE 5.06, но есть ошибка об этой вставке. Emoji не появляется, когда я использую Html.Raw() в Asp.Net MVC. Похоже, это "????". Как я могу это исправить?

  //tinymce plugin and toolbar options
        $scope.tinymceOptions = {
            selector: '#post',         
            plugins: [
               "advlist autolink autoresize link image fullscreen  lists charmap paste print preview hr anchor pagebreak",
                "searchreplace wordcount visualblocks visualchars insertdatetime media nonbreaking wordcount  ",
                "table contextmenu directionality emoticons paste template spellchecker searchreplace help imagetools media "
            ], 
            mobile: {
                theme: "mobile",
                plugins: [ 'autosave', 'lists', 'autolink' ],
                toolbar: [ 'undo', 'bold', 'italic', 'styleselect' ]
            },
            toolbar: "insertfile undo redo | styleselect | bold italic underline left aligncenter alignright alignjustify | forecolor  backcolor | fontselect fontsizeselect| bullist numlist outdent indent | link image media  preview |  emoticons | searchreplace  help ",
            toolbar_items_size: 'small',
            file_picker_types: 'file image media',
            image_title: true,
            automatic_uploads: true,          
            file_picker_types: 'image',
            relative_urls: false,
            file_picker_callback: function (cb, value, meta) {
                var input = document.createElement('input');
                input.setAttribute('type', 'file');
                input.setAttribute('accept', 'image/*');
                input.onchange = function () {
                    var file = this.files[0];

                    var reader = new FileReader();
                    reader.onload = function () {

                        var id = 'blobid' + (new Date()).getTime();
                        var blobCache =  tinymce.activeEditor.editorUpload.blobCache;
                        var base64 = reader.result.split(',')[1];
                        var blobInfo = blobCache.create(id, file, base64);
                        blobCache.add(blobInfo);
                        cb(blobInfo.blobUri(), { title: file.name });
                    };
                    reader.readAsDataURL(file);
                };
                input.click();
            },

            media_url_resolver: function (data, resolve/*, reject*/) {
                if (data.url.indexOf('YOUR_SPECIAL_VIDEO_URL') !== -1) {
                    var embedHtml = '<iframe src="' + data.url +
                    '" width="400" height="400" ></iframe>';
                    resolve({html: embedHtml});
                } else {
                    resolve({html: ''});
                }
            },
            width: "98%",
        };

Я ожидаю, что выходные данные будут или в качестве примеров, но фактический результат является??,

2 ответа

Была эта проблема.

entity_encoding: "numeric"

Это отправит смайлик в вашу БД в виде кода HTML Dec, затем, когда вы отобразите их в виде кода HTML dec, ваш браузер преобразует их в смайлики.

Проверьте, какой набор символов вы используете для обработки строки HTML. Это может произойти, когда вы случайно конвертируете строку из сложного набора символов (необходимого для эмодзи), такого как Unicode или UTF-8, во что-то более простое, например, ASCII.

Другие вопросы по тегам