Преобразование кодировки в 1С 8 #481604


#0 by Незнайкин
Задача: есть строка в cp866 (в общем случае - в любой заданной кодировке), нужно получить строку в win1251. Значение строки хранится в переменной. Есть готовый инструмент в 1С 8.1 ?
#1 by XLife
смотри параметр <Тип файла> в методах Прочитать, Записать у объекта Текстовый документ
#2 by Kashemir
Синтаксис: Прочитать(<Имя файла>, <Тип файла>, <Разделитель строк>)
#3 by Незнайкин
Да, но у меня строка уже есть в переменной, она не в текстовом файле! Получается ее нужно записать во временный файл, а потом оттуда прочитать в нужной кодировке? а без использования временных файлов это можно сделать?
#4 by shuhard
#5 by Лефмихалыч
ты ее откуда берешь? из воздуха?
#6 by Незнайкин
из PostgreSQL, кодировка базы - CP1251, но в одной корявой таблице есть столбец, в котором (так вот вышло) строки в cp866 править базу PostgreSQL возможности нет, с ней работает отдельное приложение, причем вот так странно пишет (в cp866)
#7 by Jaap Vduul
Через ADO что-ли читаешь? У PostgreSQL вроде функция для перекодировки есть - что-то вроде convert(кракозябры using 866_to_utf_8)
#8 by Незнайкин
Да, через ADO. Большое спасибо! В PostgreSQL правда есть разные функции для перекодировки, использовал convert_from: SELECT ... convert_from(cast(payments.other as bytea), 'win866') AS myfield ... FROM mytable ... Теперь в результатах запросов все нормально
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С