powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Преобразование кодировок в Oracle Forms Builder
17 сообщений из 17, страница 1 из 1
Преобразование кодировок в Oracle Forms Builder
    #36117865
Larno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, как в Oracle Forms делать запись в файл в кодировке DOS
Ранее проскакивала ссылка на функцию TR (), но в формсах она не компилируется
может там библиотеку какую надо прикрепить......
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36117912
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Larno,
мож имелась ввиду translate

как (чем) пишете в файл?

......
stax
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36117924
Larno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
использую text_io.put_line
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36117988
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Larnoиспользую text_io.put_line
1) попробуйте convert('Їжачок','RU8PC866')
2) в translate два набора символов xxx-> DOS

.....
stax
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36118173
Larno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересная ситуация получается....
В SQL Navigator функция convert отрабатывает корректно, но в формсах при сохранении строки в файл происходит видимо еще какое-то преобразование.
При открытии файла русский текст в нечитабельном виде, в любой кодировке.
может нужно создавать файл с DOS кодировкой по умолчанию.... но вот это как делается я не знаю....
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36118284
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LarnoИнтересная ситуация получается....
В SQL Navigator функция convert отрабатывает корректно, но в формсах при сохранении строки в файл происходит видимо еще какое-то преобразование.
При открытии файла русский текст в нечитабельном виде, в любой кодировке.
может нужно создавать файл с DOS кодировкой по умолчанию.... но вот это как делается я не знаю....
вот так плохо?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare
 f Text_IO.File_Type;
begin
 f:= Text_IO.Fopen('d:\111.txt', 'w');
 text_io.put_line(f,'Їжачок');
 text_io.put_line(f,convert('Їжачок','RU8PC866'));
 text_io.fclose(f);
end;

если плохо то попробуйте третим параметром
1) кодировку базы
2) винды

.....
stax
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36118384
Полночный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stax..
А формсовая реализация PL/SQL точно включает convert? Есть у меня смутные подозрения...
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36118501
Larno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот какая штука получается....
В настройках Oracle указана кодировка CL8MSWIN1251, если я конвертом в формсах ее преобразую в RU8PC866 получается не совсем то что надо.
А вот навигатор видимо работает в другой кодировке и если ему указать:
select
convert('Ппп', 'RU8PC866')
from dual

то он конвертит правильно, а если указать:

select
convert('Ппп', 'RU8PC866', 'CL8MSWIN1251')
from dual

то вот тут получается тоже, что и в файле.
Пробую подобрать название кодировки windows, в которой работает навигатор (cp-1251, win-1251, windows-1251 - эти не распознает :( )
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36118507
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полночный stax..
А формсовая реализация PL/SQL точно включает convert? Есть у меня смутные подозрения...
я выложил из формса
результат
пцріюъ
Їжачок

.....
stax
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36118526
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Larnoвот какая штука получается....
В настройках Oracle указана кодировка CL8MSWIN1251, если я конвертом в формсах ее преобразую в RU8PC866 получается не совсем то что надо.
А вот навигатор видимо работает в другой кодировке и если ему указать:
select
convert('Ппп', 'RU8PC866')
from dual

то он конвертит правильно, а если указать:

select
convert('Ппп', 'RU8PC866', 'CL8MSWIN1251')
from dual

то вот тут получается тоже, что и в файле.
Пробую подобрать название кодировки windows, в которой работает навигатор (cp-1251, win-1251, windows-1251 - эти не распознает :( )
Ларо мой текст (напр триггер на кнопке) в формсе что выводит?

.....
stax
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36118581
Larno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скопировала ваш текст к себе....
у меня в файле:
пцрўюъ
║▓аўбМ
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36118678
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Larnoскопировала ваш текст к себе....
у меня в файле:
пцрўюъ
║▓аўбМ
странно
вот у меня в хексах
00000000 AF E6 E0 F7 │ EE EA 0D 0A │ F8 A6 A0 E7 │ AE AA 0D 0A

первые 8байт винда вторые дос

правда кодировка клиента и базы совпадают
NLS_CHARACTERSET CL8MSWIN1251

попробуйте через селект
типа

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare
 f Text_IO.File_Type;
 v1 varchar2( 10 ):='Їжачок';
 v2 varchar2( 10 );
begin
 f:= Text_IO.Fopen('d:\111.txt', 'w');
 text_io.put_line(f,'Їжачок');
 text_io.put_line(f,convert('Їжачок','RU8PC866'));
 select v1 into v2 from dual;
 text_io.put_line(f,v2);
 select convert(v1,'RU8PC866') into v2 from dual;
 text_io.put_line(f,v2);
 text_io.fclose(f);
end;

зы
пробуйте третий параметр convert
CL8MSWIN1251 или базы

pss
2
тупо набрать алфавиты для translate
.....
stax
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36118726
Larno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stax..,
сейчас буду экспериментировать....
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36118756
Полночный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stax..
я выложил из формса
stax
Это я к тому, что если Forms за convert ходит в БД, то может выполняться лишняя перекодировка результата DB CS -> Client CS. Хотя если Navigator возвращает корректный результат, то это исключено.
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36119548
Larno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полночный,
Вот как раз такое ощущение что выполняется еще промежуточная перекодировка....
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36119790
Larno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полночный,
вот что прописано в самой базе:
NLS_LANGUAGE AMERICAN
NLS_TERRITORY CIS
NLS_CURRENCY ?.
NLS_ISO_CURRENCY CIS
NLS_NUMERIC_CHARACTERS .
NLS_CHARACTERSET CL8ISO8859P5
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD.MM.RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD.MM.RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD.MM.RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY ?.
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 9.2.0.7.0

получается что у нас идет еще промежуточная конвертация из AL16UTF16 в CL8ISO8859P5...
не понятно... :(
...
Рейтинг: 0 / 0
Преобразование кодировок в Oracle Forms Builder
    #36120064
Larno
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все разрешиилось совсем другим способом....
Нашла библиотечку UTIL, там есть функция ENCODE.Ansi2Oem
Вот она прекрасно все перекодирует!!!!!

Спасибо всем большое за помошь!!!!
:-* :-* :-*
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Преобразование кодировок в Oracle Forms Builder
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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