Oracle Apex中的RTF编辑器和Umlaute

时间:2019-10-25 11:15:56

标签: html plsql oracle-sqldeveloper oracle-apex

我有一个表历史记录,该表记录了对应用程序的更改,以便用户了解新功能和更改内容。当前,更改是通过功能丰富的编辑器手动记录的,并通过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;

在仍然使用Rich Text Editor的情况下,是否有一种方法可以将插入命令之间的HTML标识符解析并替换为实际字母?

1 个答案:

答案 0 :(得分:1)

这是默认的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/symbols/CKEDITOR.config.html#.entities