|
|
|
| Проблемма кодировки русских шрифтов при импорте DBF (IV) в *.MDB От: Shishov 16.05.2001 12:20:56
Может у кого есть утилита или пример кода для конвертации файла DBF (IV) в Access формат MDB ?
От: Shishov Alexandr 17.05.2001 16:31:23
1С 7.7 пишет в DBF сразу в WIN кодировке, а Access при линковке или импорте уверен в том, что там DOS кодировка и выполняет перекодировку. В результате которой многие символы искажаются без возможности восстановления.
Решение:
Для борьбы с "кракозябами" надо подправить немного реестр Windows. Пример дан для Windows 98/NT4.0.
[HKEY_LOCAL_MACHINESoftwareMicrosoftJet4.0EnginesXbase]
"DataCodePage"="OEM" параметр надо изменить на на ANSI:
"DataCodePage"="ANSI"
P.S. При изменении реестра программным способом изменения вступают после перезагрузки Access.
Раздел ...Jet4.0... для 2000, ...Jet3.5... для 97>
Подскажите, кто знает, как "программным способом " внести изменения в нужное место реестра? | |
|
| |
|
|
|
| http://hiprog.com/index.php?option=com_content&task=view&id=440 | |
|
| |
|
|
|
| Спасибо я пошёл.... | |
|
| |
|
|
|
| Для импорта из файлов 1С рекомендую использовать ODBC VFP драйвер. И кодировка ANSI, и индексы поддерживает. | |
|
| |
|
|
|
| Спасибо этому Вы меня уже научили но вопрос в другом
как "программным способом " внести изменения в нужное место реестра?
| | |
|
| |
|
|
|
| Проще всего использовать WSH:
Dim wshShell As Object
Set wshShell = CreateObject("WScript.Shell")
wshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage", "ANSI"
'Значение 2 - BDE отключен, 0 - BDE включен, если есть
wshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\BDE", 2, "REG_DWORD"
Set wshShell = Nothing | |
|
| |
|
|
|
| Не совсем по теме(новую лень начинать) вопрос Анатолию:
<<Для редактирования файлов "1С" можно прилинковать их с помощью ODBC драйвера «Visual FoxPro». >>
-Всё прилинковалось удачно, таблицы получились обновляемые.
Проблема: Если таблица на сервере "занята", то Access(2003) зависает намертво. Подскажите как решать. | |
|
| |
|
|
|
| Я не наступал на эти грабли. Пожет потому, что, в основном, только читаю оттуда?
В какой момент зависает? Открывается таблица, вносятся изменения, сохраняются изменения?
>таблица на сервере "занята"
Занята монопольно?
>зависает намертво.
Намертво, или на 10 минут?
Просто виснет, или на что-то жалуется?
Возможно нужно что-то подкрутить в настройках ODBC в ветке реестра:
\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\ODBC
В частности "ConnectionTimeout=600" - удерживание соединения по окончании операции обновления на 10 минут. Одни спецы советуют уменьшить до 1, а другие - увеличить до 1500.
Я уменьшил до 1. В этом случае через секунду после экспорта уже могу перенести файлы в другое место мли открыть монопольно.
Изменения вступают в силу после перезагрузеи Access.
Жду результаты. | |
|
| |
|
|
|
| >таблица на сервере "занята"-оказалось <не совсем верно>.
На самом деле таблица открывается с полным доступом даже если 1C открыта монопольно и пользователь работает с формой. Зависание наступает при попытке в одном сеансе повторно открыть ранее отредактированную таблицу. Зависает мертво- приходится завершать диспетчером. Правка реестра (до1)видимых результатов не дала.
Вывод: Наверное, следует ограничиться чтением. - Спецы сказали что такое редактирование может привести к потере функциональности и даже краху базы.
Спасибо | |
|
| |
|
|
|
| >Для импорта из файлов 1С рекомендую использовать ODBC VFP
>драйвер. И кодировка ANSI, и индексы поддерживает.
А сам драйвер Fox где взять(как установить?), у меня в списке драйверов тока Access и excel. | |
|
| |
|
|
|
| http://msdn2.microsoft.com/en-us/vfoxpro/bb190233.aspx | |
|
| |
|
|
|
|
| Был файл dbase III в файле были текстовые поля (в DOS кодировке).
Открывал ACCESS и связывал с этим файлом и др. и получал необходимые результаты.
Сегодня при данной операции в текстовых полях вместо текста "крякозабры".
Вчера устанавливал прогу и она что-то писала в реестр и добавляла (или изменяла) DLL файлы.
Более подробно сказать не могу. У меня WIN XP, ACCESS 2003
Может установились какие-то настройки которые перекодируют из кодировке DOS в Win (или наоборот)
Неужели придется переустанавливать Windows ? | |
|
| |