CftClub.ru
Клуб специалистов ЦФТ-Банк

IBSO умеет работать с UTF-8 кодировкой ?

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
Mourinjo
Участник со стажем


Вступление в Клуб: 21.12.2010
СообщениеПн Янв 24, 2011 13:48   IBSO умеет работать с UTF-8 кодировкой ? Ответить с цитатой
Полезность: Нет оценки
Вопрос: IBSO умеет работать с UTF-8 кодировкой ? Стоит задача выгружать платежки в текстовый формат в кодировке UTF-8. Библиотека stdio работает только 4 кодировками и не включает UTF-8. Что делать?
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПн Янв 24, 2011 15:44   Re: IBSO умеет работать с UTF-8 кодировкой ? Ответить с цитатой
Полезность: Нет оценки
Mourinjo пишет:
Вопрос: IBSO умеет работать с UTF-8 кодировкой ? Стоит задача выгружать платежки в текстовый формат в кодировке UTF-8. Библиотека stdio работает только 4 кодировками и не включает UTF-8. Что делать?

мне кажется можно использовать translate по примеру библиотеки SMTP_MAIL. затратно по времени, но работать точно будет
_________________
всегда есть как минимум 2 выхода
maestro
Профи


Вступление в Клуб: 12.10.2010
СообщениеСр Фев 02, 2011 08:19    Ответить с цитатой
Полезность: Нет оценки
Столкнулся с аналогичной проблемой. Если решение уже найдено, прошу поделиться.
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеСр Фев 02, 2011 16:43    Ответить с цитатой
Полезность: Нет оценки
Можно воспользоваться оракловой функцией Convert

Цитата:
CONVERT(<char>, <dest_char_set>, <source_char_set>)

-- This example illustrates character set conversion by

-- converting a Latin-1 string to ASCII. The result is the

-- same as importing the same string from a WE8ISO8859P1

-- database to a US7ASCII database.


/* Common character sets include:

US7ASCII: US 7-bit ASCII character set

WE8DEC: West European 8-bit character set

F7DEC: DEC French 7-bit character set

WE8EBCDIC500: IBM West European EBCDIC Code Page 500

WE8ISO8859P1: ISO 8859-1 West European 8-bit character set

UTF8: Unicode 4.0 UTF-8 Universal character set, CESU-8 compliant

AL32UTF8: Unicode 4.0 UTF-8 Universal character set

_________________
всегда есть как минимум 2 выхода
maestro
Профи


Вступление в Клуб: 12.10.2010
СообщениеВт Апр 12, 2011 10:08    Ответить с цитатой
Полезность: 2
Ну и чтобы не оставлять вопрос неотвеченным:
Код:

stdio.PUT_LINE(file, convert(str, 'utf8'), false, null, stdio.unxtext);
Alex Flash
Участник со стажем


Вступление в Клуб: 22.05.2008
СообщениеВт Мар 13, 2012 09:26    Ответить с цитатой
Полезность: 1
Вдруг кому пригодится, обратное преобразование может выглядеть так:

Код:
v_buf:=convert(v_buf, 'CL8ISO8859P5', 'utf8'); -- UTF8 -> WIN
stdio.transform(v_buf, stdio.WinText, stdio.UNXText); -- WIN -> UNIX


а напрямую, без transform, у меня не получилось.
_________________
Александр
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru