Як визначити схему формфайлу?


Відповіді:


9

Метод спроб і помилок. Спробуйте відкрити .dbf файл за допомогою Ms Excel або з OpenOffice, використовуючи різні налаштування, поки ви не все зможете.

Подивіться на цю публікацію, щоб отримати більше підказок: /programming/319095/how-do-i-determine-the-character-set-of-a-string


Якщо про кодування нічого не відомо, варто спершу спробувати latin1 або UTF-8.
krlmlr

Я відкрив .dbf у пані Excel і символи відображаються нормально. Як я можу побачити, яке кодування Excel використовує / виявляє? Так що я можу його встановити в QGIS ...
user3386170

12

Існує два способи програм визначити набір символів для файлу форм.


+1 Це посилання на сторінку формату файлу dBase чудово. Однак, AFAIK, кодові сторінки ніколи не включалися у формат dBase III. Посилання є на розширення формату FoxPro, яке передбачає, що не всі файли .dbf мають у них інформацію про кодову сторінку (або, якщо вони є, це може бути результатом байтів сміття, що з’являються у вільній області заголовка ). Але якщо ви зможете викопати цю інформацію, це все-таки вдалий початок для пошуку проб і помилок. До речі, ласкаво просимо на наш сайт!
whuber

Деякі бібліотеки python dbf можуть читати кодову сторінку, якщо є інформація.
Пауло Скардін

5

fileУтиліта здатна підібрати потрібне кодування текстового файлу. Використовуйте ogr2ogrдля перетворення, яке зберігає оригінальне кодування, якщо немає .cpgфайлу :

ogr2ogr -f CSV file.csv file.dbf
file file.csv

Приклад виводу:

file.csv: ISO-8859 text

Я перевірив це за допомогою двох найчастіших кодувань, UTF-8 та latin1. Працює нестандартно в Ubuntu, не впевнений у ОС X. Я не знаю про fileутиліту для Windows.

ПРИМІТКА . Щойно з'явиться відповідний .cpgфайл, який вказує на кодування, ogr2ogrбуде його шанувати, і вихід буде в UTF-8. Але якщо вихід CSV виглядає правильно, ви знаєте, що інформація у .cpgфайлі є точною.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.