|
Преобразование кодировки в 1С 8 |
☑ |
0
Незнайкин
12.05.10
✎
12:50
|
Задача: есть строка в cp866 (в общем случае - в любой заданной кодировке), нужно получить строку в win1251. Значение строки хранится в переменной.
Есть готовый инструмент в 1С 8.1 ?
|
|
1
XLife
12.05.10
✎
12:54
|
смотри параметр <Тип файла> в методах Прочитать(), Записать() у объекта Текстовый документ
|
|
2
Kashemir
12.05.10
✎
12:55
|
ТекстовыйДокумент (TextDocument) Прочитать (Read) Синтаксис: Прочитать(<Имя файла>, <Тип файла>, <Разделитель строк>)
|
|
3
Незнайкин
12.05.10
✎
12:56
|
(1) (2) Да, но у меня строка уже есть в переменной, она не в текстовом файле! Получается ее нужно записать во временный файл, а потом оттуда прочитать в нужной кодировке? а без использования временных файлов это можно сделать?
|
|
4
shuhard
12.05.10
✎
12:58
|
(3) в поиск ключевое ADODB + Stream
|
|
5
Лефмихалыч
12.05.10
✎
12:58
|
(3) ты ее откуда берешь? из воздуха?
|
|
6
Незнайкин
12.05.10
✎
13:06
|
(5) из PostgreSQL, кодировка базы - CP1251, но в одной корявой таблице есть столбец, в котором (так вот вышло) строки в cp866 править базу PostgreSQL возможности нет, с ней работает отдельное приложение, причем вот так странно пишет (в cp866)
|
|
7
Jaap Vduul
12.05.10
✎
13:17
|
(6)Через ADO что-ли читаешь?
У PostgreSQL вроде функция для перекодировки есть - что-то вроде
convert(кракозябры using 866_to_utf_8)
|
|
8
Незнайкин
12.05.10
✎
13:33
|
(6) Да, через ADO. Большое спасибо! В PostgreSQL правда есть разные функции для перекодировки, использовал convert_from: SELECT ... convert_from(cast(payments.other as bytea), 'win866') AS myfield ... FROM mytable ... Теперь в результатах запросов все нормально
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший