Comment utiliser l'information que représente l'octet 29 des fichiers DBase avec LibreOffice

classic Classic list List threaded Threaded
6 messages Options
Freddy Gonthier Freddy Gonthier
Reply | Threaded
Open this post in threaded view
|

Comment utiliser l'information que représente l'octet 29 des fichiers DBase avec LibreOffice

Bonjour,

Il me semble que calc ne lit ni n'écrit l'octet de l'en-tête des fichiers
DBase Foxpro correspondant au code page du fichier.

Comment utiliser l'information que représente cet octet avec LibreOffice ?

Cordialement,

F. Gonthier

--
Envoyez un mail à [hidden email] pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Bernard Schoenacker Bernard Schoenacker
Reply | Threaded
Open this post in threaded view
|

Re: Comment utiliser l'information que représente l'octet 29 des fichiers DBase avec LibreOffice



----- Mail original -----

> De: "Freddy Gonthier" <[hidden email]>
> À: [hidden email]
> Envoyé: Vendredi 25 Janvier 2019 11:29:15
> Objet: [fr-users] Comment utiliser l'information que représente l'octet 29 des fichiers DBase avec LibreOffice
>
> Bonjour,
>
> Il me semble que calc ne lit ni n'écrit l'octet de l'en-tête des
> fichiers
> DBase Foxpro correspondant au code page du fichier.
>
> Comment utiliser l'information que représente cet octet avec
> LibreOffice ?
>
> Cordialement,
>
> F. Gonthier
>

bonjour,

gogo gadjet install recode ...

par défaut l'encodage des données sont en utf8 et donc
il faut voire avec la commande file (outils ubuntu)

documentation:

https://www.howtogeek.com/261449/how-to-install-linux-software-in-windows-10s-ubuntu-bash-shell/

la page du manuel :

https://linux.die.net/man/1/iconv


la suite du problème pour le charset:

https://gis.stackexchange.com/questions/12218/how-do-you-determine-a-shapefiles-charset

partie pour ogr :

https://www.npmjs.com/package/ogr2ogr


merci

slt
bernard

--
Envoyez un mail à [hidden email] pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Freddy Gonthier Freddy Gonthier
Reply | Threaded
Open this post in threaded view
|

Re: Comment utiliser l'information que représente l'octet 29 des fichiers DBase avec LibreOffice

Bonjour,

Je dispose de plusieurs fichiers DBase en cyrillique ou en grec avec
l'octet 29 de l'en-tête du fichier DBase positionné à une valeur connue
pour être le code page utilisé dans chacun de ces fichiers.
Cependant, à l'ouverture de ces fichiers, Calc ne propose pas le code
déterminé par l'octet 29 du fichier DBF. De plus, UTF-8 ne couvre pas tous
les codes pages que j'utilise.
Il me faut ouvrir le fichier DBF dans le bon code page avec lequel il a été
enregistré, le traduire en français, espagnol ou italien et l'enregistrer
dans le code page de ces pays.

Je n'ai pas l'impression que calc réalise la première partie et que pour la
deuxième quelque soit le code page d'enregistrement, l'octet 29 est
systématiquement mis à 0.

Cela me semble anormal.

Cordialement,

Freddy

Le ven. 25 janv. 2019 à 12:15, Bernard Schoenacker <
[hidden email]> a écrit :

>
>
> ----- Mail original -----
> > De: "Freddy Gonthier" <[hidden email]>
> > À: [hidden email]
> > Envoyé: Vendredi 25 Janvier 2019 11:29:15
> > Objet: [fr-users] Comment utiliser l'information que représente l'octet
> 29 des fichiers DBase avec LibreOffice
> >
> > Bonjour,
> >
> > Il me semble que calc ne lit ni n'écrit l'octet de l'en-tête des
> > fichiers
> > DBase Foxpro correspondant au code page du fichier.
> >
> > Comment utiliser l'information que représente cet octet avec
> > LibreOffice ?
> >
> > Cordialement,
> >
> > F. Gonthier
> >
>
> bonjour,
>
> gogo gadjet install recode ...
>
> par défaut l'encodage des données sont en utf8 et donc
> il faut voire avec la commande file (outils ubuntu)
>
> documentation:
>
>
> https://www.howtogeek.com/261449/how-to-install-linux-software-in-windows-10s-ubuntu-bash-shell/
>
> la page du manuel :
>
> https://linux.die.net/man/1/iconv
>
>
> la suite du problème pour le charset:
>
>
> https://gis.stackexchange.com/questions/12218/how-do-you-determine-a-shapefiles-charset
>
> partie pour ogr :
>
> https://www.npmjs.com/package/ogr2ogr
>
>
> merci
>
> slt
> bernard
>

--
Envoyez un mail à [hidden email] pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Thierry Jeanneret Thierry Jeanneret
Reply | Threaded
Open this post in threaded view
|

Re: Comment utiliser l'information que représente l'octet 29 des fichiers DBase avec LibreOffice

Bonsoir Freddy,

Le souci d'identification du langage que vous évoquez n'est pas forcément un bug. Si vous vous référez à la description des entêtes dBase, l'octet 29 est bien le "Language driver ID", mais il est complété par une array de 32 bytes, de 32 à 63,qui contient le Language driver name. C'est la combinaison de ces deux éléments qui permet de déterminer vraiment ce qui se passe. Cette codification se base sur les CODEPAGE et autres acrobaties des débuts de l'info partout, sous MS-DOS.

Il est donc possible que l'information ait été perdue au fil du temps, ce qui ne doit pas vous arranger.

Bonne soirée,

Thierry


PS : Source http://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm <http://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm>


> Le 25 janv. 2019 à 15:07, Freddy Gonthier <[hidden email]> a écrit :
>
> Bonjour,
>
> Je dispose de plusieurs fichiers DBase en cyrillique ou en grec avec
> l'octet 29 de l'en-tête du fichier DBase positionné à une valeur connue
> pour être le code page utilisé dans chacun de ces fichiers.
> Cependant, à l'ouverture de ces fichiers, Calc ne propose pas le code
> déterminé par l'octet 29 du fichier DBF. De plus, UTF-8 ne couvre pas tous
> les codes pages que j'utilise.
> Il me faut ouvrir le fichier DBF dans le bon code page avec lequel il a été
> enregistré, le traduire en français, espagnol ou italien et l'enregistrer
> dans le code page de ces pays.
>
> Je n'ai pas l'impression que calc réalise la première partie et que pour la
> deuxième quelque soit le code page d'enregistrement, l'octet 29 est
> systématiquement mis à 0.
>
> Cela me semble anormal.
>
> Cordialement,
>
> Freddy
>
> Le ven. 25 janv. 2019 à 12:15, Bernard Schoenacker <
> [hidden email]> a écrit :
>
>>
>>
>> ----- Mail original -----
>>> De: "Freddy Gonthier" <[hidden email]>
>>> À: [hidden email]
>>> Envoyé: Vendredi 25 Janvier 2019 11:29:15
>>> Objet: [fr-users] Comment utiliser l'information que représente l'octet
>> 29 des fichiers DBase avec LibreOffice
>>>
>>> Bonjour,
>>>
>>> Il me semble que calc ne lit ni n'écrit l'octet de l'en-tête des
>>> fichiers
>>> DBase Foxpro correspondant au code page du fichier.
>>>
>>> Comment utiliser l'information que représente cet octet avec
>>> LibreOffice ?
>>>
>>> Cordialement,
>>>
>>> F. Gonthier
>>>
>>
>> bonjour,
>>
>> gogo gadjet install recode ...
>>
>> par défaut l'encodage des données sont en utf8 et donc
>> il faut voire avec la commande file (outils ubuntu)
>>
>> documentation:
>>
>>
>> https://www.howtogeek.com/261449/how-to-install-linux-software-in-windows-10s-ubuntu-bash-shell/
>>
>> la page du manuel :
>>
>> https://linux.die.net/man/1/iconv
>>
>>
>> la suite du problème pour le charset:
>>
>>
>> https://gis.stackexchange.com/questions/12218/how-do-you-determine-a-shapefiles-charset
>>
>> partie pour ogr :
>>
>> https://www.npmjs.com/package/ogr2ogr
>>
>>
>> merci
>>
>> slt
>> bernard
>>
>
> --
> Envoyez un mail à [hidden email] pour vous désinscrire
> Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
> Privacy Policy: https://www.documentfoundation.org/privacy


--
Envoyez un mail à [hidden email] pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Freddy Gonthier Freddy Gonthier
Reply | Threaded
Open this post in threaded view
|

Re: Comment utiliser l'information que représente l'octet 29 des fichiers DBase avec LibreOffice

Bonjour,

Cela peut être résolu avec un script Basic, Java, cpp, ... ou Python comme
cela m'a été précisé, mais il me semble que introduire la gestion de cette
information dans l'interface d'ouverture des outils LibreOffice peut être
plus ergonomique et utile tant en lecture qu'en écriture car les fichiers
au format DBF sont associés à de nombreux logiciels, sous différentes
extensions, et également ouvert avec des tableurs pour ajouter ou modifier
des valeurs de façon simple.

À l'enregistrement : catastrophe le fichier n'est pas enregistré dans un
code page utilisable lors de la prochaine ouverture. Des glyphes
s'affichent sans rapport avec ceux du départ ou après modification.

Cordialement,

F. Gonthier

Le ven. 25 janv. 2019 à 18:37, Thierry Jeanneret <
[hidden email]> a écrit :

> Bonsoir Freddy,
>
> Le souci d'identification du langage que vous évoquez n'est pas forcément
> un bug. Si vous vous référez à la description des entêtes dBase, l'octet 29
> est bien le "Language driver ID", mais il est complété par une array de 32
> bytes, de 32 à 63,qui contient le Language driver name. C'est la
> combinaison de ces deux éléments qui permet de déterminer vraiment ce qui
> se passe. Cette codification se base sur les CODEPAGE et autres acrobaties
> des débuts de l'info partout, sous MS-DOS.
>
> Il est donc possible que l'information ait été perdue au fil du temps, ce
> qui ne doit pas vous arranger.
>
> Bonne soirée,
>
> Thierry
>
>
> PS : Source http://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm
>
>
> Le 25 janv. 2019 à 15:07, Freddy Gonthier <[hidden email]> a
> écrit :
>
> Bonjour,
>
> Je dispose de plusieurs fichiers DBase en cyrillique ou en grec avec
> l'octet 29 de l'en-tête du fichier DBase positionné à une valeur connue
> pour être le code page utilisé dans chacun de ces fichiers.
> Cependant, à l'ouverture de ces fichiers, Calc ne propose pas le code
> déterminé par l'octet 29 du fichier DBF. De plus, UTF-8 ne couvre pas tous
> les codes pages que j'utilise.
> Il me faut ouvrir le fichier DBF dans le bon code page avec lequel il a été
> enregistré, le traduire en français, espagnol ou italien et l'enregistrer
> dans le code page de ces pays.
>
> Je n'ai pas l'impression que calc réalise la première partie et que pour la
> deuxième quelque soit le code page d'enregistrement, l'octet 29 est
> systématiquement mis à 0.
>
> Cela me semble anormal.
>
> Cordialement,
>
> Freddy
>
> Le ven. 25 janv. 2019 à 12:15, Bernard Schoenacker <
> [hidden email]> a écrit :
>
>
>
> ----- Mail original -----
>
> De: "Freddy Gonthier" <[hidden email]>
> À: [hidden email]
> Envoyé: Vendredi 25 Janvier 2019 11:29:15
> Objet: [fr-users] Comment utiliser l'information que représente l'octet
>
> 29 des fichiers DBase avec LibreOffice
>
>
> Bonjour,
>
> Il me semble que calc ne lit ni n'écrit l'octet de l'en-tête des
> fichiers
> DBase Foxpro correspondant au code page du fichier.
>
> Comment utiliser l'information que représente cet octet avec
> LibreOffice ?
>
> Cordialement,
>
> F. Gonthier
>
>
> bonjour,
>
> gogo gadjet install recode ...
>
> par défaut l'encodage des données sont en utf8 et donc
> il faut voire avec la commande file (outils ubuntu)
>
> documentation:
>
>
>
> https://www.howtogeek.com/261449/how-to-install-linux-software-in-windows-10s-ubuntu-bash-shell/
>
> la page du manuel :
>
> https://linux.die.net/man/1/iconv
>
>
> la suite du problème pour le charset:
>
>
>
> https://gis.stackexchange.com/questions/12218/how-do-you-determine-a-shapefiles-charset
>
> partie pour ogr :
>
> https://www.npmjs.com/package/ogr2ogr
>
>
> merci
>
> slt
> bernard
>
>
> --
> Envoyez un mail à [hidden email] pour vous
> désinscrire
> Les archives de la liste sont disponibles à
> https://listarchives.libreoffice.org/fr/users/
> Privacy Policy: https://www.documentfoundation.org/privacy
>
>
>

--
Envoyez un mail à [hidden email] pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Bernard Schoenacker Bernard Schoenacker
Reply | Threaded
Open this post in threaded view
|

Re: Comment utiliser l'information que représente l'octet 29 des fichiers DBase avec LibreOffice


----- Mail original -----

> De: "Freddy Gonthier" <[hidden email]>
> À: "Thierry Jeanneret" <[hidden email]>
> Cc: "Bernard Schoenacker" <[hidden email]>,
> [hidden email]
> Envoyé: Samedi 26 Janvier 2019 10:08:47
> Objet: Re: [fr-users] Comment utiliser l'information que représente
> l'octet 29 des fichiers DBase avec LibreOffice

> Bonjour,

> Cela peut être résolu avec un script Basic, Java, cpp, ... ou Python
> comme cela m'a été précisé, mais il me semble que introduire la
> gestion de cette information dans l'interface d'ouverture des outils
> LibreOffice peut être plus ergonomique et utile tant en lecture
> qu'en écriture car les fichiers au format DBF sont associés à de
> nombreux logiciels, sous différentes extensions, et également ouvert
> avec des tableurs pour ajouter ou modifier des valeurs de façon
> simple.

> À l'enregistrement : catastrophe le fichier n'est pas enregistré dans
> un code page utilisable lors de la prochaine ouverture. Des glyphes
> s'affichent sans rapport avec ceux du départ ou après modification.

> Cordialement,

> F. Gonthier

bonjour,

serait il possible d'utiliser la commande file et d'installer recode
sur ubuntu comme je l'ai préconisé ...

documentation :

https://tutorials.ubuntu.com/tutorial/tutorial-ubuntu-on-windows#0
https://docs.microsoft.com/en-us/windows/wsl/install-win10


merci
slt
bernard

--
Envoyez un mail à [hidden email] pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy