powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Русский буквы в названии файла, который лежит в BLOB
21 сообщений из 21, страница 1 из 1
Русский буквы в названии файла, который лежит в BLOB
    #39138244
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При скачивании из блоба русское название файла преобразуется в какую-то utf8 хрень. Английское название сохраняется нормально. Почитал форум - пока не понял как это побороть - где при установке Apex я неправильно установил кодировку?
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39138263
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_lipПри скачивании из блоба
- каким методом? Проверь имя на всех этапах закачик - скачки
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39138282
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имя файла в соответствующее поле сохраняется нормально и видно в базе данных по человечески. Скачиваю через репорт в котором это поле в базе данных описано как download blob и указаны откуда брать filename mimetype filedata. Закачиваю примерно так же , все поля автоматом заполняются правильно.
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39138303
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_lipСкачиваю через репорт в котором это поле в базе данных описано как download blob и указаны откуда брать filename mimetype filedata
- ещё конкретнее с кодом
- после чего сломалось?
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39138314
Vladml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shared Components -> Globalization->Edit Globalization Attributes ->Application Primary Language
русский установить не?
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139077
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shared Components -> Globalization->Edit Globalization Attributes ->Application Primary Language - Russiun(Ru)
Application Language Derived From - Browser
Character Value Comparison Behavior - Database session NLS setting
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139113
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,автор- ещё конкретнее с кодом
- после чего сломалось?


Да просто делаю как в примерах описано. При скачивании имя файла транслируется в utf8-"кракозябры"
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139126
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_lipДа просто делаю как в примерах описано.
тебе лень писать что-ли? В вебе полно всяго Г. кода.
- пиши код который в примерах
- в код выброс в логи имени файла
- логи привести сюда
- выброс в другую операционку чтобы исключить её влияние.
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139297
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да в том то и дело, что кода нет
Есть репорт основанный на тестовой таблице с блоб полем
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select "ID", 
dbms_lob.getlength("MYFILE") "MYFILE",
"FILENAME",
"MIMETYPE",
"FILEDATA",
"FILECHARSET",
"OPISALOVO"
from TEST_BLOB
 


в атрибутах колонки MYFILE в разделе Number / Date Format прописано
DOWNLOAD:TEST_BLOB:MYFILE:ID::MIMETYPE:FILENAME:FILEDATA:FILECHARSET:attachment:Скачать:
В таблице заполнены поля, которые видны как
Код: sql
1.
2.
3.
Edit	Myfile	        Filename	                                                Mimetype	                Filedata	Filecharset	   Opisalovo

	Скачать	ESD_HELP_ДЕЛОПРОИЗВОДИТЕЛЬ__.DOC	                        application/msword	        25.12.15	 	           qqq


В результате, по клику на "скачать" - скачивается файл с именем

=_utf-8_B_RVNEX0hFTFBf0JTQldCb0J7Qn9Cg0J7QmNCX0JLQntCU0JjQotCV0JvQrF9fLkRP
Он нормально открывается в WORD, но имя немного напрягает

Загрузка файла тоже банальна. Сделана на основе Form on TEST_BLOB , где поле MYFIEL описано как BLOB column specified in Item Source attribute
и указаны соответствующие поля, куда автоматом заносится информация о файле. Все кроме чарсет - но этот чарсет относится к содержимому файла, а не к имени (насколько я понимаю)
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139323
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня так:
- вьюшка на таблой с файлом:
DOWNLOAD:VS_FILES
там транслит имени файла:
Код: sql
1.
       translate(МояФункцияTranslit(F_FILENAME), Chr(9)||' /:*?"<>\'||Chr(10)||Chr(13), '__') F_FILENAME_ESCAPE,
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139347
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_lip,

Есть там пара багов, переделайте на другой метод:

тынц1 , тынц2

Еще был баг в apex listener с передачей http headers 12440041 , но, последний, насколько я знаю, поправили в ords
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139438
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверил в Хроме - все нормально. Тупят FF и IE
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139450
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Советуют делать так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
owa_util.mime_header( p_file_mime, false );
    htp.p ('content-length: ' || DBMS_LOB.getlength( lob_loc => p_file_blob ) );

    if INSTR(UPPER(OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')), 'MSIE') > 0 then

      htp.p ('Content-Disposition:  attachment; filename="' 
           || UTL_URL.ESCAPE( p_file_name, FALSE, 'UTF-8' ) || '"');
    else
        htp.p('Content-Disposition:  attachment; filename*=UTF-8'''''||UTL_URL.ESCAPE( p_file_name, FALSE, 'UTF-8' ));
    end if;
    owa_util.http_header_close;

    wpg_docload.download_file( p_file_blob );
    apex_application.stop_apex_engine;


Только я не понял - это создать кнопку загрузить и туда прописать?
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139490
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_lipТолько я не понял - это создать кнопку загрузить и туда прописать?
у тебя была выгрузка из таблы по иконке в строке.
тут пример без таблы.
Разные вопросы и метод скачки.
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139518
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139525
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если без таблицы, а кнопкой "Выгрузить" с процессом, то у меня вроде проблем с русскими нет в 4.2
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139540
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так если есть промежуточная процедура, которая будет преобразовывать поле с именем файла в escape-последовательность - проблем быть не должно. Можно ли это сделать настройками APEX?.... Видимо нет.
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139585
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_lipпроблем быть не должно
- для скачки из таблы-отчёта проблема в транслитерации (замена на англ.)
- для скачки на отд.кнопку проблем и не было.
Подходит ли метод процесса выше к
DOWNLOAD:...............:attachment:Скачать:
я не в курсе.
IMHO не подходит.
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39139632
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_lipСоветуют делать так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
owa_util.mime_header( p_file_mime, false );
    htp.p ('content-length: ' || DBMS_LOB.getlength( lob_loc => p_file_blob ) );

    if INSTR(UPPER(OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT')), 'MSIE') > 0 then

      htp.p ('Content-Disposition:  attachment; filename="' 
           || UTL_URL.ESCAPE( p_file_name, FALSE, 'UTF-8' ) || '"');
    else
        htp.p('Content-Disposition:  attachment; filename*=UTF-8'''''||UTL_URL.ESCAPE( p_file_name, FALSE, 'UTF-8' ));
    end if;
    owa_util.http_header_close;

    wpg_docload.download_file( p_file_blob );
    apex_application.stop_apex_engine;


Только я не понял - это создать кнопку загрузить и туда прописать?
Прописываете ссылку с текстом или иконкой любым стандартным способом в столбце отчета, см. тынц2
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39140516
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!!!
...
Рейтинг: 0 / 0
Русский буквы в названии файла, который лежит в BLOB
    #39214526
Фотография Есть вопрос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev, Спасибо!
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Русский буквы в названии файла, который лежит в BLOB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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