Символы эмодзи, нарушающие HTTP-движок Apex? - PullRequest
0 голосов
/ 29 августа 2018

Когда я вывожу символы эмодзи, подобные приведенным ниже, в Apex где-нибудь на странице, вывод HTTP прерывается.

Рисунок 1 - пример Emojis:

? ? ? ? ? ? ? ?

Рисунок 2 - неработающий HTML

enter image description here

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

Мне кажется, что это проблема с набором символов - может, Apex не может рассчитать правильную длину или что-то в этом роде?

Я использую Oracle Apex 18.1 на apex.oracle.com.

Шаги для воспроизведения:

  1. Перейти к https://apex.oracle.com/pls/apex/f?p=51681
  2. Введите 1000 в поле Normal Icon Count и нажмите Render
  3. появится 1000 сердец
  4. Введите 1000 в поле Emoji Count и нажмите Render
  5. HTML-код где-то сломается (и, возможно, появится ~ 1000 Emojis)

Код для вывода символов находится в динамической области PL / SQL и выглядит следующим образом:

DECLARE
    l_text VARCHAR2(10) := '♥';
BEGIN
    FOR i IN 1.. NVL(:P1_EMOJICOUNT_1,10) LOOP
        htp.p('<span id="myDiv'||i||'">'|| l_text ||'</span>');
    END LOOP;
END;

1 Ответ

0 голосов
/ 31 августа 2018

Очевидно, что это проблема в PL / SQL Web Toolkit, по крайней мере, так говорит Джоэл Р. Каллман, старший директор по разработке программного обеспечения в Apex.

Цитата:

Интересная проблема. Но, похоже, проблема лежит даже под APEX, в PL / SQL Web Toolkit и его неспособности иметь дело с этими данными.

enter image description here

...