Есть ли способ определить кодировку, используемую для данного шейп-файла?
Есть ли способ определить кодировку, используемую для данного шейп-файла?
Ответы:
Методом проб и ошибок. Попробуйте открыть файл .dbf в MS Excel или OpenOffice, используя другие настройки, пока не получите все правильно.
Посмотрите на этот пост для получения дополнительной информации: /programming/319095/how-do-i-determine-the-character-set-of-a-string
У программ есть два способа определения набора символов для шейп-файла.
file
Утилита способна угадать кодировку текстового файла. Используйте ogr2ogr
для преобразования, которое сохраняет исходную кодировку, если нет .cpg
файла :
ogr2ogr -f CSV file.csv file.dbf
file file.csv
Пример вывода:
file.csv: ISO-8859 text
Я проверил его с двумя наиболее частыми кодировками, UTF-8 и latin1. Работает из коробки в Ubuntu, не уверен насчет OS X. Я не знаю file
утилиты для Windows.
ПРИМЕЧАНИЕ . Как только появится соответствующий .cpg
файл, в котором указана кодировка, он ogr2ogr
будет принят, и выходные данные будут в формате UTF-8. Но если вывод CSV выглядит правильно, вы знаете, что информация в .cpg
файле точна.
Другая таблица для преобразования 29-го байта * .dbf в кодовую страницу: http://webhelp.esri.com/arcpad/8.0/referenceguide/index.htm#locales/task_code.htm