Гость
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Кодировка при экспорте данных pl/sql / 4 сообщений из 4, страница 1 из 1
22.04.2011, 08:00
    #37227879
selectbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка при экспорте данных pl/sql
Приветствую!

Помогите решить задачу.
Есть оракл 11gr1 есть Oracle-Application-Server-10g/10.1.3.1.0, есть Apex 4.01
Нужно из приложения Apex сгенерировать файл для выгрузки данных в форматах(кодировках) win1251 и cp866
Кодировка базы CL8MSWIN1251, Кодировка Apache не установлена, по умолчанию использует UTF8 (вижу в браузере, и в заголовках страниц)
Написал процедуру выгрузки

....(примерный код)

v_file_name := 'test.tst';
OWA_UTIL.mime_header('application/octet', FALSE);
HTP.p('Content-Disposition: attachment; filename="' || v_file_name || '"');
OWA_UTIL.http_header_close;
htp.prn('Здесь данные из таблиц в базе выбираются циклично');
HTMLDB_APPLICATION.g_unrecoverable_error := TRUE;

...

Файл получаю, данные в файле в UTF8.
В кодировках мало чего понимаю, обычно использовал метод тыка, но текущая задача очень важная и крайне мало времени для реализации решения чтобы тыкать, прошу вас помочь.
...
Рейтинг: 0 / 0
22.04.2011, 11:40
    #37228260
J-Z
J-Z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка при экспорте данных pl/sql
selectbest,

а попробуйте функцию convert
...
Рейтинг: 0 / 0
22.04.2011, 12:17
    #37228374
selectbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка при экспорте данных pl/sql
Ну если разделить задачу на подзадачи
и начать с того что нужно получить данные в WIN кодировке,
то тут проблема. потому как зачем вызывать convert если
данные в базе уже в win1251. Процедура выбирает данные и формирует
файл, который передается через Apache и вот там уже кодировка меняется в UTF8.
...
Рейтинг: 0 / 0
25.04.2011, 07:54
    #37231316
selectbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка при экспорте данных pl/sql
решил.

спасибо теме на форуме. /topic/651470&hl=blob%20%f1%f2%f0%ee%ea%e0

declare
pLOB BLOB;
pSorcLOB BLOB;
pDestLOB BLOB;
str VARCHAR2(100);
begin
insert into blob_test
(id_number, blob_content)
values
(1, EMPTY_BLOB())
returning blob_content into pLOB;

dbms_lob.open(pLOB, DBMS_LOB.LOB_READWRITE);

str := convert(\'ЗДРАСЬТЕ!\',\'RU8PC866\'); -- А вот здесь задаем кодировку.

dbms_lob.writeappend(pLOB, length(str), utl_raw.cast_to_raw(str));
dbms_lob.close(pLOB);

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


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