Comment déterminez-vous le jeu de caractères d'un fichier de formes?

25

Existe-t-il un moyen de déterminer le jeu de caractères utilisé pour un fichier de formes donné?

Matthew Finlay
la source

Réponses:

9

Essai et erreur. Essayez d'ouvrir le fichier .dbf avec Ms Excel ou avec OpenOffice en utilisant des paramètres différents jusqu'à ce que tout soit correct.

Regardez cet article pour plus d'indices: /programming/319095/how-do-i-determine-the-character-set-of-a-string

Pablo
la source
Si l'on ne sait rien de l'encodage, cela vaut la peine d'essayer d'abord latin1 ou UTF-8.
krlmlr
J'ai ouvert le .dbf dans Ms Excel et les caractères apparaissent normalement. Comment puis-je voir quel encodage Excel utilise / détecte? Pour que je puisse le configurer dans QGIS ...
user3386170
12

Les programmes peuvent déterminer le jeu de caractères d'un fichier de formes de deux manières.

Andreas W. Bartels
la source
+1 Ce lien vers une page de format de fichier dBase est génial. Cependant, AFAIK, les pages de codes n'ont jamais été incluses dans le format dBase III. Il y a une référence à une extension FoxPro du format, ce qui suggère que tous les fichiers .dbf ne contiendront pas d'informations de page de code (ou, s'ils le font, cela pourrait être le résultat d'octets inutiles apparaissant dans une zone libre de l'en-tête ). Mais si vous pouvez creuser ces informations, c'est toujours un bon début pour une recherche par essais et erreurs. BTW, bienvenue sur notre site!
whuber
Certaines bibliothèques python dbf peuvent lire la page de code si des informations s'y trouvent.
Paulo Scardine
5

L' fileutilitaire est capable de deviner l'encodage d'un fichier texte. À utiliser ogr2ogrpour une conversion qui préserve l'encodage d'origine s'il n'y a pas de .cpgfichier :

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

Exemple de sortie:

file.csv: ISO-8859 text

Je l'ai testé avec deux des encodages les plus fréquents, UTF-8 et latin1. Fonctionne prêt à l'emploi dans Ubuntu, je ne suis pas sûr d'OS X. Je ne connais pas d' fileutilitaire sous Windows.

REMARQUE : dès qu'il y a un .cpgfichier correspondant qui indique l'encodage, ogr2ogrl'honorera et la sortie sera en UTF-8. Mais si la sortie CSV semble correcte, vous savez que les informations contenues dans le .cpgfichier sont exactes.

krlmlr
la source