OVH Cloud OVH Cloud

Conversion caractères spéciaux Excel vers Linux

13 réponses
Avatar
j.chouteau
Bonjour à tous,

J'ai besoin de transférer des données Excel vers un fichier texte.
Comment convertir les caractères accentués en Perl ?

10 réponses

1 2
Avatar
Jacques Caron
Salut,

On Mon, 13 Jun 2005 10:05:53 +0200,
wrote:

J'ai besoin de transférer des données Excel vers un fichier texte.
Comment convertir les caractères accentués en Perl ?


Quelle version de perl? Si 5.8.x, voir man Encode. Pour les versions
précédentes, tu peux voir par exemple Unicode::String, Unicode::MapUTF8 et
quelques autres modules de cette série. Il faut bien entendu savoir quel
encodage a été utilisé dans le fichier Excel, je suppose que ça devrait
être du win1252 (dérivé de ISO Latin 1 aka ISO-8859-1) ou du cp1250.

Jacques.

Avatar
damien guerin
Je comprends pas vraiment le besoin....
Avatar
j.chouteau
damien guerin wrote:
Je comprends pas vraiment le besoin....

Bonjour , il s'agit tout simplement de transformer les lettres

accuentées en lettres normalement transcrites par PERL
Jc

Avatar
Paul Gaborit
À (at) Mon, 13 Jun 2005 14:37:35 +0200,
"" écrivait (wrote):
Bonjour , il s'agit tout simplement de transformer les lettres accuentées en
lettres normalement transcrites par PERL


Perl gère très bien les lettres accentuées (en fait, il peut transcrire
n'importe lequel des codages... et même du binaire).

Votre problème est un problème d'encodage. Si vous connaissez l'encodage
initial et l'encodage final, Perl peut assurer le transcodage. Puisque il
semble que votre encodage final n'accepte pas les lettres accentuées, je
suppose que c'est de l'ASCII. Il ne reste plus qu'à découvrir l'encodage
initial de vos données... Un document Excel peut contenir des données
textuelles dans différents codages.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

Avatar
kurtz le pirate
In article <d8jelj$gcr$,
"" wrote:

Bonjour à tous,

J'ai besoin de transférer des données Excel vers un fichier texte.
Comment convertir les caractères accentués en Perl ?



In article ,
"damien guerin" wrote:

Je comprends pas vraiment le besoin....





moi non plus. que vient faire perl ici ???


Avatar
j.chouteau
Paul Gaborit wrote:
À (at) Mon, 13 Jun 2005 14:37:35 +0200,
"" écrivait (wrote):

Bonjour , il s'agit tout simplement de transformer les lettres accuentées en
lettres normalement transcrites par PERL



Perl gère très bien les lettres accentuées (en fait, il peut transcrire
n'importe lequel des codages... et même du binaire).

Votre problème est un problème d'encodage. Si vous connaissez l'encodage
initial et l'encodage final, Perl peut assurer le transcodage. Puisque il
semble que votre encodage final n'accepte pas les lettres accentuées, je
suppose que c'est de l'ASCII. Il ne reste plus qu'à découvrir l'encodage
initial de vos données... Un document Excel peut contenir des données
textuelles dans différents codages.

OK merci de votre reponse, si vous pouvez me dire comment trouver

l'encodage sous excel je pense que mon probleme serait presque resolu.
Jc


Avatar
Patrick Texier
Le Mon, 13 Jun 2005 10:58:09 +0200, "Jacques Caron" a
écrit :

J'ai besoin de transférer des données Excel vers un fichier texte.
Comment convertir les caractères accentués en Perl ?


Quelle version de perl? Si 5.8.x, voir man Encode.


Il faut sans doute 5.8.6. En Active Perl Windows 5.8.0 j'avais un tas de
problèmes aléatoires avec Encode, je me retrouvais avec des x.


Avatar
Paul Gaborit
À (at) Tue, 14 Jun 2005 10:05:20 +0200,
"" écrivait (wrote):
OK merci de votre reponse, si vous pouvez me dire comment trouver l'encodage
sous excel je pense que mon probleme serait presque resolu.


Je n'ai pas d'Excel (ni de documents associés) sous la main pour tester mais
la doc de Spreadsheet::ParseExcel évoque une méthode 'Code' qui donne une
information pour chaque cellule. Les seuls codages proposés sont 'ascii'
(undef), 'ucs2' et '_native_' (native de la plateforme d'origine ?).

Sinon, si le document provient d'une plateforme Windows, il est possible que
l'encodage soit cp1252 (ansi-new)... mais ce n'est pas sûr : peut-être
qu'Excel réencode le contenu dans son propre codage...

Il faut aussi voir les différentes valeurs récupérées selon que vous passez
par la méthode 'Value' ou par 'Val' d'une cellule.

Le mieux serait de faire des tests complets...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

Avatar
Jean-Michel Caricand
In article <d8jelj$gcr$,
"" wrote:


Bonjour à tous,

J'ai besoin de transférer des données Excel vers un fichier texte.
Comment convertir les caractères accentués en Perl ?




In article ,
"damien guerin" wrote:


Je comprends pas vraiment le besoin....






moi non plus. que vient faire perl ici ???


Que viens faire Perl ici ? Il doit très certainement vouloir récupérer
des données exportées depuis Excel pour les traiter avec un script Perl.
Les caractères spéciaux lui posent un problème, il pose donc la question
sur ce groupe.



Avatar
kurtz le pirate
In article ,
Jean-Michel Caricand wrote:

In article <d8jelj$gcr$,
"" wrote:


Bonjour à tous,

J'ai besoin de transférer des données Excel vers un fichier texte.
Comment convertir les caractères accentués en Perl ?




In article ,
"damien guerin" wrote:


Je comprends pas vraiment le besoin....






moi non plus. que vient faire perl ici ???


Que viens faire Perl ici ? Il doit très certainement vouloir récupérer
des données exportées depuis Excel pour les traiter avec un script Perl.
Les caractères spéciaux lui posent un problème, il pose donc la question
sur ce groupe.



qu'il posait la question sur ce groupe c'est ok, mais alors sa demande
est incomplète :

- pour transférer des données excel vers un fichier texte il n'y a pas
de problème, c'est natif dans excel.

- pour les traiter avec perl, c'est autre chose : "convertir" vers
quoi ? pour faire quoi.

c'était juste pour aider...





1 2