Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Надо получить текст.файл 866 кодировки / 13 сообщений из 13, страница 1 из 1
11.02.2003, 09:28
    #32104317
Serenada
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
Проблема такая.Средствами FORMSа я получаю текстовый файл кодировки 1251.Как средствами FORMSа поменять кодировку на 866?
...
Рейтинг: 0 / 0
11.02.2003, 10:09
    #32104348
Les
Les
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
Самый простой способ: набей полный набор букв в досе (866) в обоих регистрах и например в блокноте. А потом используй translate
...
Рейтинг: 0 / 0
11.02.2003, 10:25
    #32104358
Serenada
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
Спасибо.Дайте более подробную инструкцию для начинающих,если не трудно.
...
Рейтинг: 0 / 0
11.02.2003, 13:53
    #32104520
Les
Les
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
select translate(s,
'йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ',
'©жгЄҐ­Јий§екдлў Їа®«¤¦нпзб¬ЁвмЎо‰–“Љ…Ќѓ˜™‡•љ”›‚ЂЏђЋ‹„†ќџ—‘Њ€’њЃћ' ) into s_r from dual;
...
Рейтинг: 0 / 0
11.02.2003, 14:19
    #32104541
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
Les, зачем-же так извращаться. Для конвертации текста из одной кодировки в другую есть специальная функция CONVERT: из 1251 в 866:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT CONVERT('Русский', 'CL8MSWIN1251', 'RU8PC866')  FROM DUAL;

SQLWKS> SELECT CONVERT('Русский', 'CL8MSWIN1251', 'RU8PC866')  FROM DUAL;
CONVERT
 -------
 
?єёёъшщ
Выбрана  1  строка.


Почти получается, буквы верхнего регистра только с ошибкой(конвертирует в ?)

Но я так понимаю, надо именно в Forms и не просто данные, а файл.
...
Рейтинг: 0 / 0
13.02.2003, 09:24
    #32105521
Serenada
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
После функции convert получила текст с иероглифами,отличными от предыдущих.То есть convert отработал,но результат неуд.
Может нужно менять какие-то системные настройки?
...
Рейтинг: 0 / 0
13.02.2003, 09:38
    #32105535
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
Что значит "отличными от предыдущих" ?

Ты получил в кодировке 866
...
Рейтинг: 0 / 0
13.02.2003, 11:17
    #32105666
Serenada
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
Отличными от предыдущих означает,что символы текстовых полей,полученных с convert отличаются по внешнему виду от символов,полученных без convert.
Но я сомневаюсь,что это 866 кодировка.Русского текста я не вижу ни нортоном,ни вордом,ни фоксом досовским.А файл,полученный без convert,я откраваю вордом,сохраняю в текст дос и все ок,вижу нортоном русский текст,банковская программа принимает данные без сбоев.Но пользователю программы так работать будет неудобно.Вот такая эпидерсия...
Кстати,как можно точно узнать кодировку текстового файла и какими средствами?
...
Рейтинг: 0 / 0
13.02.2003, 11:24
    #32105675
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
Кинь сюда кусок полученного текста
...
Рейтинг: 0 / 0
13.02.2003, 11:32
    #32105686
Serenada
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
текст без convert:
20623303510002980 328209 АБ "ПIВДЕННИЙ" М.ОДЕСА 26005311127980 13920723 ООО "Стимпекс"8041001 1100 132000000 1302200313022003 согласно счета №Счт-16100 часть 1 от 04.02.2003г. в.т.ч. ндс 1.83 3 0 0
с convert:
20623303510002980 328209 рс "яiтфхээшщ" ь.юфхёр 26005311127980 13920723 ююю "ёЄшьяхъё"8041001 1100 142000000 1302200313022003 ёюуырёэю ёўхЄр ??ўЄ-16100 ўрёЄ№ 1 юЄ 04.02.2003у. т.Є.ў. эфё 1.83 3 0 0
...
Рейтинг: 0 / 0
13.02.2003, 12:08
    #32105746
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
Я понял в чём твоя ошибка. Когда ты в wordpade созраняешь как MSDOS - он считает что исходная информация в 1251 и делает конвертацию текста 866 в 866 - что неверно.

А конвертация с помощью CONVERT происходит правильно. Можешь её конвертнуть в обратную сторону и ты увидишь, что всё нормально.
...
Рейтинг: 0 / 0
13.02.2003, 12:25
    #32105766
Serenada
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
Возможно.Но НОРТОНом я тоже вижу
20623303510002980 328209 рс "яiтфхээшщ" ь.юфхёр 26005311127980 13920723 ююю "ёЄшьяхъё"8041001 1100 142000000 1302200313022003 ёюуырёэю ёўхЄр ??ўЄ-16100 ўрёЄ№ 1 юЄ 04.02.2003у. т.Є.ў. эфё 1.83 3 0 0
...
Рейтинг: 0 / 0
13.02.2003, 12:44
    #32105796
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо получить текст.файл 866 кодировки
Это тоже самое. Это зависит от того в какой программе ты получаешь результат. Тебе нужно запрос сделть в консольной программе, например sqlplus или svrmgrl и сделать вывод результата в файл. Вот тогда ты увидишь в нортоне и wordpad as dos - уже так как надо.

Код: plaintext
1.
2.
3.
spool dos.txt
select CONVERT(<field>,'CL8MSWIN1251','RU8PC866') from dual;
spool off;
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Надо получить текст.файл 866 кодировки / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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