Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Базы данных под .NET > DBF поля ANSII в ANSI |
Автор: avosi 5.3.2009, 10:12 |
Есть таблица DBF. При загружке ряд полей кодируются в кодировке ANSII нужно их перекадировать в ANSI. |
Автор: avosi 5.3.2009, 16:09 |
Пользуюсь следующей строкой подключения .ConnectionString ="Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\\;"; OdbcCommand.CommandText = "select * from 1.dbf"; подключаюсь нормально, получаю следующие данные Ñ-1 вместо С-1 используя Encoding могу получить это - "?-1" но это тоже не то пока искал наткнулся на вариант перекодирования в самом запросе, возможно ли такое?? Если нет то как проще перекодировать и прочитать?? |
Автор: Выхухоль 9.3.2009, 12:34 |
а зачем тебе кодировать в ANSI кодируй в юникод!! |
Автор: avosi 10.3.2009, 08:39 |
На большинстве ПК стоит кодировка ANSI.(С этой же кодировкой работает большинство старых прожек) Возможно я первоначально нетак вопрос сформулировал, мне нужно из неизвестной кодировки(к примеру UTF-8) привести кодировку к ANSI. |
Автор: avosi 18.3.2009, 15:27 |
![]() |
Автор: Данкинг 18.3.2009, 16:52 |
Ну так на фоксе и перекодируй... |
Автор: bvg77 18.3.2009, 17:14 |
У мя такая же проблемка, avosi с твоего разрешения переформулирую вопрос, dbf-таблица изначально создана в кодовой странице 866, т.е. ANSII(в ДОС кодировке), при подключении к ней как это делает avosi, руские символы отображаются в ANSI(т.е. в WIN1251), хелп как раздулить |
Автор: Skynin 18.3.2009, 17:45 |
Из http://www.gotdotnet.ru/Forums/Data/265807.aspx чтобы прочитать cyrillic dbf файл необходимо: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase DataCodePage:OEM заменить на ANSI CPZERO - удаляет идентификатор кодировки из dbf-файла select CPCONVERT(866, 1251, fam) as fio from table А также: http://msdn.microsoft.com/en-us/library/st4a0s68(VS.71).aspx Table Header Record Structure: 29 Code page mark А также в гугле: CpDbfChange.exe утилита == CpZero.prg без VFP-runtime |
Автор: xvar 4.5.2009, 14:58 |
Как то раз я занимался подобными делами, даже EXE-шник накропал. Попробуйте: Тут CPzero - http://its.extra.hu/cpzero.htm А тут CPconvert - http://its.extra.hu/cpconverter.htm В принципе работало. Удачи Вам. |