|
v7: неправильная кодировка в DBF | ☑ | ||
---|---|---|---|---|
0
fantomask
27.07.17
✎
07:51
|
Идет выгрузка данных в формате DBF из 1С 7.7. При загрузке в 1С 8.3 вся кириллица превращается в нечитабельный формат âìê ƒ¬¬áßáαá⌐߬«ú« αá⌐«¡á Пробовал с кодировкой на стороне 1С 7.7 и на стороне 1С 8.3 не помогает.
|
|||
1
fantomask
27.07.17
✎
07:52
|
Не правильно передалось. Вот так выглядит ошибка:
https://yadi.sk/d/gKqglU843LShFP |
|||
2
1dvd
27.07.17
✎
07:52
|
а почему выбрали формат дбф для переброса 7.7-8.3 ?
|
|||
3
1dvd
27.07.17
✎
07:53
|
Файл = создатьОбъект("XBASE"); //создаем ссылку на файл DBF
Файл.ОткрытьФайл("catalog.dbf"); //открываем файл на диске Файл.КодоваяСтраница(1); //задаем кодировку: 0 - windows, 1 - DOS |
|||
4
fantomask
27.07.17
✎
07:53
|
(2) а как еще? через КД не получается. Через текстовый документ или CSV нужно парсить
|
|||
5
1dvd
27.07.17
✎
07:54
|
(4) да, бида...
|
|||
6
fantomask
27.07.17
✎
07:54
|
(3) Делал, всё равно выходит та же проблема. Может проблема в региональных стандартах винды?
|
|||
7
1dvd
27.07.17
✎
07:57
|
(6) Показывай как выгружаешь
|
|||
8
fantomask
27.07.17
✎
08:05
|
Процедура ВыгрузитьНоменклатуру()
ДБФ = СоздатьОбъект("XBASE"); ДБФ.КодоваяСтраница(1); // проектируется структура таблицы, т.е. имена и типы полей ДБФ.ДобавитьПоле("INN","S",50,0); // числовое поле ИНН Организации ДБФ.ДобавитьПоле("ISGROUP","S",50,0); // числовое поле Группа? ДБФ.ДобавитьПоле("CODE","S",30,0); // строковое поле Код ДБФ.ДобавитьПоле("NAME","S",30,0); // строковое поле Наименование ДБФ.ДобавитьПоле("EDIZM","S",30,0); // строковое поле ЕдИзм ДБФ.ДобавитьПоле("TYPE","S",30,0); // строковое поле Тип ноемнклатуры // создание файла с указанной структурой ДБФ.СоздатьФайл(КаталогСохранения+"\Tovar.dbf"); Выборка = СоздатьОбъект("Справочник.Номенклатура"); Выборка.ВыбратьЭлементы(); Пока Выборка.ПолучитьЭлемент()=1 Цикл ДБФ.Добавить(); ДБФ.INN = Константа.ИННОрганизации; ДБФ.CODE = Выборка.Код; ДБФ.NAME = Выборка.Наименование; ДБФ.EDIZM = Строка(Выборка.ЕдиницаИзмерения); ДБФ.TYPE = Строка(Выборка.ТипНоменклатуры); ДБФ.IsGROUP = Выборка.ЭтоГруппа(); ДБФ.Записать(); КонецЦикла; ДБФ.ЗакрытьФайл(); КонецПроцедуры |
|||
9
1dvd
27.07.17
✎
08:06
|
ДБФ.КодоваяСтраница(0);
|
|||
10
fantomask
27.07.17
✎
08:28
|
(9) пробовал, тот же результат.
|
|||
11
1dvd
27.07.17
✎
08:30
|
(10) те же кракозябры? не верю. Посмотри дбфку каким-нидь просмотрщиком
|
|||
12
Имитирующий работу
27.07.17
✎
08:36
|
Надо запускать оба процесса под русской локалью ОС.1Сv77 и то, где происходит загрузка на 1Сv8 - клиент или сервер. Не локализация сеанса 1С, а именно локаль для процесса.
|
|||
13
fantomask
27.07.17
✎
08:42
|
(12) язык на ОС сервера на английском, на нем же работаем через RDP. Может причина в этом?
|
|||
14
пипец
27.07.17
✎
08:45
|
не так давно проскальзывало с правкой реестра по кодировке
|
|||
15
Масянька
27.07.17
✎
08:50
|
(13) Вполне может быть.
Не знаю, как и что писали разработчики, но если в 7.7 стоит раскладка аглицкая, то - копируешь из семерки текст на русском , вставляешь (проверено: word, excel, firefox) - получаешь кракозябры. |
|||
16
fantomask
27.07.17
✎
08:57
|
(15) Скорее всего в то время, 1С выставлял санкции Америке )))
Загрузили на винде с руским языком. нормально загрузилось... Будем смотреть локальную политику сервера. |
|||
17
Масянька
27.07.17
✎
09:18
|
(16) ИМХО: в семерке используется dbf. Там несколько драйверов кодовых страниц (ANSI, 866 и пр.). Судя по всему, именно с этим и проблемы (драйвером).
Подчеркиваю - ИМХО. |
|||
18
Масянька
27.07.17
✎
09:19
|
(16) Кстати, в (15) я об этом и написала: из эски куда-то - имеет значение раскладка, наоборот (откуда-то в эску) - раскладка не имеет значения.
|
|||
19
Имитирующий работу
27.07.17
✎
09:26
|
(17) Там унутре codebase, такое же древнее гуано мамонта, как и dbf. Он при обработке кодировки DOS (на самом деле по стандарту - OEM, отчего все проблемы и происходят) смотрит именно в локаль процесса.
Никакие правки реестра тут ни при чем. |
|||
20
Имитирующий работу
27.07.17
✎
09:28
|
(18) Это общее поведение для неюникодных программ. К dbf не имеет ни малейшего.
|
|||
21
Sserj
27.07.17
✎
09:47
|
(2) Если 77 и 8-ка рядом то вообще удобнее прямо из 8-ки чеерз внешний источник.
|
|||
22
h-sp
27.07.17
✎
09:52
|
(15) там и наоборот можно. Копируешь текст в семерку. После этого кракозябры исчезают, начинает нормально работать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |