powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / двойное url кодирование русских букв
11 сообщений из 11, страница 1 из 1
двойное url кодирование русских букв
    #37445817
sgtara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
После обновления apex c версии 4.0.1 до 4.1.0.00.32 появился следующий баг:
При переходе по ссылки на сайт апекс происходит двойное url кодирование русских букв,

Код: plaintext
1.
2.
3.
4.
5.
6.
<script type="text/javascript">
var fndStr;
var baseURL = 'http://server:7780/pls/apex/f?p=101:71:::NO::P71_GLB:';
fndStr = document.getElementById('find').value;
window.open(baseURL + fndStr, 'Моё окно');
</script>
т.е. при вводе строки ‘оракл’ строка передается как
http://server:7780/pls/apex/f?p=101:71:616060320996184::NO::P71_GLB:%25D0%25BE%25D1%2580%25D0%25B0%25D0%25BA%25D0%25BB

Раньше при 4.0.1 всё работало при window.open(encodeURI(baseURL + fndStr), 'Моё окно'), сейчас результат такой же как и без encodeURI



Куда копать ?
...
Рейтинг: 0 / 0
двойное url кодирование русских букв
    #37446108
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В какой кодировке база?
Какая кодировка стоит под HTTP сервером апекса? Должна стоять UTF8
И в какой кодировке вы пытаетесь передать URL?

Я так понимаю (сам сталкивался) вы пытаетесь сформировать URL на другой сервер, который не понимает UTF8 ? Или дело в чем-то другом?
...
Рейтинг: 0 / 0
двойное url кодирование русских букв
    #37446238
sgtara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. SQL> SELECT * FROM NLS_DATABASE_PARAMETERS;

PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_CSMIG_SCHEMA_VERSION 5
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET CL8ISO8859P5
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE

PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_RDBMS_VERSION 10.2.0.4.0

2. Oracle HTTP Server charset=utf-8

3. Страница с которой идет переход имеет кодировку utf-8

Именно так, переход идет с одного сервера на другой.
...
Рейтинг: 0 / 0
двойное url кодирование русских букв
    #37446345
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3. В какой кодировке вы пытаетесь передать URL? Какую кодировку должен принять другой сервер?
utf-8 или CL8ISO8859P5 ?

авторOracle HTTP Server charset=utf-8
авторwindow.open(baseURL + fndStr, 'Моё окно');
это значит, что baseURL + fndStr здесь уже находится в utf-8, сконвертированный из CL8ISO8859P5.
Ведь он выводит всё в UTF-8, это не баг.
Если этого не происходило раньше, могу только предположить, что до апдейта было
авторOracle HTTP Server charset=CL8ISO8859P5
или раньше этот код помещался куда-то, где преобразование обходилось стороной?
...
Рейтинг: 0 / 0
двойное url кодирование русских букв
    #37446423
sgtara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного не так.
На одном сервере есть статическая страница (utf-8) с формой и полем ввода с id="find",
при событии onClick выполняется приведенный javascript код, который должен открыть страницу apexа на другом сервере, передав ей в item P71_GLB введенное значение поля find.
baseURL + fndStr изначально находятся в utf-8 и их кодировка ни как не связана с apex. Остальное преобразование URL делает браузер.
Не смотря на то, что сама база не в utf-8, других проблем с русским в apex приложениях нет.

При апдейте с 4.0.1 до 4.1.0.00.32 кодировки не менялись.
...
Рейтинг: 0 / 0
двойное url кодирование русских букв
    #37446687
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, теперь разобрался.
Как раз тестирую сижу приложения в 4.1.
Есть похожая проблема https://forums.oracle.com/forums/thread.jspa?messageID=9859489& и она у меня воспроизводится.
Однако с приведенным кодом c onClick на button и Text Field find Item не могу воспроизвести, тоже самое, что в 4.1, что в 4.0.1 работает.

Возможно в find уже присутствует escape
...
Рейтинг: 0 / 0
двойное url кодирование русских букв
    #37447361
sgtara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ссылку.
Как я понимаю решения пока нет, есть только баг с номером 12971989. Печально.
...
Рейтинг: 0 / 0
двойное url кодирование русских букв
    #37452033
Tsunami9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
у меня что-то подобное приключилось..
после обновления Apex'а с версии 4.0 на 4.1 перестали передаваться в ссылках русские буквы...
я в оракле не эксперт, но делать что-то надо было...
стал всё подряд менять, и кодировки базы.... и glassfish server новый поставил и кодировки там разные в нём указывал.... всё нормально стало, когда поставил старенький апекс-листинер в гласфише... так и не понял в чём прикол был...
кстати браузер опера работал без проблем с русскими буквами....
т.к. подавляющее число юзеров всётаки под осликом работает, то вот таким методом и решил проблему... ума это не прибавило мне, только полдня провозился...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
двойное url кодирование русских букв
    #38111777
Kino36
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
И у меня такая же проблема, после миграции на 4.2 вместо русских букв в урле стали передаваться кодированные символы.
Кто-нибудь поборол эту проблему?
...
Рейтинг: 0 / 0
двойное url кодирование русских букв
    #38112045
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kino36Добрый день.
И у меня такая же проблема, после миграции на 4.2 вместо русских букв в урле стали передаваться кодированные символы.
Кто-нибудь поборол эту проблему?
Проблема описанная в теме решена патчем 4.1.1.
Лучше создайте отдельную тему с детальным описанием вашей проблемы.
...
Рейтинг: 0 / 0
двойное url кодирование русских букв
    #38112578
StrayCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kino36, та же проблема возникла после переезда на 4.2.1.00.08.
помогло использование вот такого dynamic action:

Код: javascript
1.
2.
$x('apexir_SEARCH').value=decodeURIComponent($v('P1_X'));
gReport.search('SEARCH');



в P1_X как раз должны передаваться русские буквы (и в 4.0 передавались).
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / двойное url кодирование русских букв
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]