Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBF поля ANSII в ANSI, Перекодироват поля таблицы DBF 
:(
    Опции темы
avosi
Дата 5.3.2009, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Есть таблица DBF. 
При  загружке ряд полей кодируются в кодировке ANSII нужно их перекадировать в ANSI.

PM MAIL   Вверх
avosi
Дата 5.3.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Пользуюсь следующей строкой подключения

.ConnectionString ="Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\\;";

OdbcCommand.CommandText = "select * from 1.dbf";

подключаюсь нормально, получаю следующие данные

Ñ-1  вместо С-1

используя Encoding могу получить это - "?-1" но это тоже не то


пока искал наткнулся на вариант перекодирования в самом запросе, возможно ли такое??

Если нет то как проще перекодировать и прочитать?? 

PM MAIL   Вверх
Выхухоль
Дата 9.3.2009, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 9.10.2008
Где: Ташкент

Репутация: нет
Всего: 2



а зачем тебе кодировать в ANSI кодируй в юникод!!
PM MAIL ICQ   Вверх
avosi
Дата 10.3.2009, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



На большинстве ПК стоит кодировка ANSI.(С этой же кодировкой работает большинство старых прожек)

Возможно я первоначально нетак вопрос сформулировал, мне нужно из неизвестной кодировки(к примеру UTF-8) привести кодировку к ANSI.

Это сообщение отредактировал(а) avosi - 10.3.2009, 13:36
PM MAIL   Вверх
avosi
Дата 18.3.2009, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



 smile 
PM MAIL   Вверх
Данкинг
Дата 18.3.2009, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Ну так на фоксе и перекодируй...


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
bvg77
Дата 18.3.2009, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 18.3.2009

Репутация: нет
Всего: нет



У мя такая же проблемка, avosi с твоего разрешения переформулирую вопрос, dbf-таблица изначально создана в кодовой странице 866, т.е. ANSII(в ДОС кодировке), при подключении к ней как это делает avosi, руские символы отображаются в ANSI(т.е. в  WIN1251), хелп как раздулить 

PM MAIL   Вверх
Skynin
Дата 18.3.2009, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

Репутация: нет
Всего: 10



Из 
Кодировка в dbf

чтобы прочитать 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

А также:
Table File Structure (.dbc, .dbf, .frx, .lbx, .mnx, .pjx, .scx, .vcx)
Table Header Record Structure:
29    Code page mark

А также в гугле:
CpDbfChange.exe утилита == CpZero.prg без VFP-runtime


Это сообщение отредактировал(а) Skynin - 18.3.2009, 17:51
PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
xvar
Дата 4.5.2009, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 2.10.2008

Репутация: нет
Всего: нет



Как то раз я занимался подобными делами, даже EXE-шник  накропал.

Попробуйте:

Тут CPzero -

http://its.extra.hu/cpzero.htm

А тут CPconvert -

http://its.extra.hu/cpconverter.htm


В принципе работало. 

Удачи Вам.




PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0855 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.