Имя: Пароль:
1C
1С v8
Получение данных из MS SQL базы.
0 APXi
 
27.12.17
09:34
Добрый день.
Такая проблема, 1Ской подключаюсь к сторонней базе (не 1С) получаю данные, но в одном поле возвращается текст в какой то не понятной кодировке, хотя все остальные поля нормальные. Тот же запрос в SMS возвращает текст нормально.
Было ли у кого нибудь такое?

Это результат запроса в SMS https://yadi.sk/i/KXy1jBEX3QzYhh
Это то что получает 1С https://yadi.sk/i/fPNdVziD3QzYmc
Типы полей в SQL https://yadi.sk/i/G9_kVzg53QzYqP
1 perester
 
27.12.17
09:36
а цифры нормально получает?
2 rs_trade
 
27.12.17
09:37
(0) кодировка же
3 asady
 
27.12.17
09:42
(0) blob поля они обычно в анси - не утф8
4 rs_trade
 
27.12.17
09:45
сделай вьюшку где приводи поле к нужному виду. и вьюшку цепляй к 1с.
5 Ненавижу 1С
 
гуру
27.12.17
09:53
надо смотреть параметры подключения
6 Дык ё
 
27.12.17
10:47
(0) попробуй

select имяполя collate Cyrillic_General_CI_AS as алиас
7 APXi
 
27.12.17
11:05
(1) Да, без проблем.
(2) (4) попробую.
(3) Fields(Поле).Value возвращает строку.
(5) СтрокаПодключения = "DRIVER={SQL Server Native Client 11.0};SERVER="+Объект.Сервер+";UID="+Объект.Пользователь+";PWD="+Объект.Пароль+";DATABASE="+Объект.База;
(6) Не помогло.

Внешняя база от программы DocsVision
Ранее получал данные из разных таблиц этой базы, но сейчас затык на этом поле.
8 Сияющий в темноте
 
27.12.17
11:16
Была подобная проблема с ADO правда при доступе к BLOB полям в FireBird,но оказалось,что для BLOB поля в базе нужно отдельно указывать кодировку при создании,иначе все возвращается как есть без перекодирования-здесь может быть такая же ситуация-тогда читать в ADO.Stream и там перекодировать в ту кодиовку,которую ест 1С
9 бомболюк
 
27.12.17
11:17
не кодировка это... что то другое.
10 rs_trade
 
27.12.17
11:22
попробуй во въюхе привести например к nvarchar(4000)
11 APXi
 
27.12.17
13:28
(10) Помогло! Спасибо!
CAST(Comments AS nvarchar(4000)) as TaskComments
12 APXi
 
27.12.17
15:04
Всем спасибо за участие!