Rich Text Editor и Umlaute в Oracle Apex - PullRequest
       58

Rich Text Editor и Umlaute в Oracle Apex

0 голосов
/ 25 октября 2019

У меня есть таблица История , в которой записываются изменения в приложении, чтобы пользователи знали, что нового и что изменилось. В настоящее время изменения записываются вручную с помощью многофункционального редактора и сохраняются с помощью процесса автоматической вставки из Oracle Apex 18.2.

Я протестировал следующий ввод с помощью обычной вставки в Sqldeveloper:

insert into history_table
(datum, beschreibung)
values
(sysdate, 'Test Umlaute : Ää - Aa; Üü - Uu; Öö - Oo');

Данные, показанные на странице Apex, следующие. Это то же самое, когда я выбрал его на разработчике, как я и ожидал:

Test Umlaute : Ää - Aa; Üü - Uu; Öö - Oo

Когда я пытаюсь сделать то же самое с помощью текстового редактора и автоматической вставки, я получаю правильные вставленные данные на странице, ноэто на разработчика:

<p>Test Umlaute : &Auml;&auml; - Aa; &Uuml;&uuml; - Uu; &Ouml;&ouml; - Oo</p>

С помощью этого кода мне удастся заменить все это, но только на самом деле в запросе, если кто-то попытается загрузить автоматически через веб-сайт:

select regexp_replace(replace(replace(replace(replace(replace(replace(beschreibung, 'Auml', 'Ä'), 'auml', 'ä'), 'Uuml', 'Ü'), 'uuml', 'ü'), 'Ouml', 'Ö'), 'ouml', 'ö'), '&|;|nbsp', '') beschreibung
from history_table;

Есть ли способ проанализировать и заменить идентификаторы HTML где-то посередине между командами вставки на настоящие буквы, в то время как Rich Text Editor все еще используется?

1 Ответ

1 голос
/ 25 октября 2019

это поведение CKEditor по умолчанию. Все не-ascii символы переводятся в соответствующую HTML-сущность. У вас есть возможность изменить настройки CKEditor для элемента, как описано в этом блоге: https://apex.oracle.com/pls/apex/germancommunities/apexcommunity/tipp/6401/index-en.html Я провел быстрый тест с помощью функции javascript, приведенной ниже, и, похоже, она работает нормально. Поместите его в раздел «Код инициализации Javascript» элемента редактора форматированного текста.

function ( configObject ) {
    configObject.entities = false;
    return configObject;
}

Доступные настройки для CKEditor доступны здесь: https://docs -old.ckeditor.com / ckeditor_api / символы /CKEDITOR.config.html # .entities

...