Очень часто приходится сталкиваться с проблемами кодировок .dbf файлов при выгрузке/загрузке на базах 7.7 и 8.
Давайте разберемся, почему это происходит.
При работе с dbf в 1С, есть 2 кодировки: DOS (866) и Windows (1251).
Исходя из того в какой кодировке вы выгружаете файл dbf в такой же кодировке необходимо и загружать файл. Для этого в 1С есть специальные команды, при чем для 1С 7.7 и 8 они разные.
Для 1С 7.7 используется вот такой синтаксис при выгрузке:
1 2 3 |
ДБ = СоздатьОбъект("XBASE"); //Указываем кодировку файла 1- DOS, 0 – Windows ДБ.КодоваяСтраница(0); |
И такой же при загрузке:
1 2 3 |
ДБ = СоздатьОбъект("XBase"); ДБ.КодоваяСтраница(0); ДБ.ОткрытьФайл(ИмяФайла); |
Параметр кодовая страница определяет кодировку создаваемого файла: 1 - DOS (866) и 2 - Windows (1251).
Евгений
В 1С 8 кодировка устанавливается ДБФ.Кодировка = КодировкаXBase.OEM[ANSI]. Если при чтении не указать кодировку, то будет использована кодировка по-умолчанию. Для восьмерки это ANSI.