Как определить кодировку dbf файла

Обновлено: 06.07.2024

есть дбф файл с данными в кодировке Windows1251
(это я так предполагаю что в 1251, потому что использую дбф навигатор и ставлю вид отображения Windows1251)
как мне загрузить данные из дбф файла в датагрид в читабельном виде?
подскажите где ошибка? может запрос надо изменить? или я кодировку неправильно определил? или синтаксис кода преобразования неправильный
я в заблуждении

код чтения дбф в датагри

попытка преобразовать текст в нужную кодировку (мне кажется где-то здесь моя проблема)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Загрузка DBF файла в нужной кодировке
Пытаюсь подключится к DBF фалу и получаю следующее исключение. "Дополнительные сведения: ERROR .

Открытие файла в нужной кодировке
Необходимо открыть запранее записанный файл в форме. Однако вместо русского текста выдает символы.

Чтение из файла в нужной кодировке
Помогите, пожалуйста. Я делаю считывание из файла при помощи StreamReader и считываю данные.

Чтение из файла в нужной кодировке
Си не видит русские буквы в текстовом файле. Вот сама задача "Дан файл, содержащий текст.

Могу ошибаться, но по-моему эта проблема решается добавлением параметра CharacterSet в строку подключения Возможно, есть средства проще, типа параметра при подключении, как писали выше, но в любом случае
Вот пример функции

спасибо за функцию, но она не возвращает нужный результат
выходит что в файле данные в другой кодировке? или причина в другом? помогите разобраться

помогите понять в чем причина и как мне добиться нормального управления дбф файлом

Добавлено через 18 часов 20 минут
ищу помощи для решения проблем с кодировкой

kritjara, если в бд нет ничего секретного, то можете скинуть проект и саму базу, посмотреть / разобраться?

вот дбф файл и дбфнавигатор для просмотра файла
параметры подключения к файлу в стартовом топике

многие данные в файле пришлось затереть изза конфиденциальности информации, но все же там "есть на что посмотреть"

Результаты опытов на картинке.
Привожу код для варианта с временным файлом. Наверное, не самый эстетичный подход, но в данном конкретном случае результат был получен.
Докину в топку свои результаты:
1) поглядел кодировку через DBF Commander
Результат неопределенный

2) покопался на просторах, есть фишка с переопределением кодировки через запись нужного байта в сам файл
Сами значения в переменных, потому что постоянно менял их, не суть.
Далее по кнопке подключаюсь к DBF с вашим кодом
Есть еще вариант: установить DBF Viewer, открыть в нем базу, выбрать в меню Инструменты-Конвертер OEM/ANSI. . И преобразовать ANSI в OEM там. Учитывая, что это придется сделать один раз, это вполне себе вариант. спасибо большое за помощь всем
и сразу вопрос кOrlangur1991
я так понимаю что этот код

модифицирует файл (если я не прав, исправьте меня)
я работаю в организации, которая имеет дело с государственными органами, и было постановление о предоставлении данных в УТСЗН в конкретном виде, в конкретной кодировке и прочее, т.е. если что-то не соответствует данным, то мою работу попросту откажутся принимать
"вот вам файл, заполняйте его вручную"
да там тысячи строк, каждую заполнять вручную = лучше уволиться с работы, ибо это надо делать каждый месяц

действительно что-то меняется в файле?
можно ли обратить кодировку после изменения файла, чтобы был тот же Unknown?

Читайте также: