IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modules Perl Discussion :

Problème de caractères bizarres, besoin de concevoir un convertisseur


Sujet :

Modules Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut Problème de caractères bizarres, besoin de concevoir un convertisseur
    Bonjour !

    Nous rencontrons des soucis au taf autour d'une BDD Basis.

    Pour certains types de données, nous alimentons les champs de nos enregistrements par simple copié-collé d'un document Word directement dans la base de données.

    Notre application permettant d'interagir avec la base est du type webtop, avec affichage en mode HTML.

    C'est lorsque nous extrayons ces mêmes données en mode texte que l'on vient de constater un gros problème de caractères.

    Exemple sur un bout de titre :

    Dans Word : L'efficacité des conditions d'hygiène...

    Dans le WebTop : L'efficacité des conditions d'hygiène...

    En mode texte : L.efficacité des conditions d.hygiène...

    Je n'ai pas approfondi davantage mais je présume que d'autres caractères sont concernés, comme le tiret quadratin (caractère spécial de Word), censé devenir en mode texte le tiret classique de la touche 6 au-dessus du pavé alphanumérique.

    J'aurais besoin de concocter un script perl pour convertir nos données correctement. Mais j'ignore totalement sur quelle base m'appuyer sur le format des mauvaises données, ainsi que celui pour les convertir en bonnes données.

    Qui a un tuyau ?

    -----------------------------------

    Trés important : il m'est impossible d'installer le moindre ppm, nos postes étant verrouillés à outrance. Voici ce que j'ai comme packages :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    C:\WINNT\system32>ppm query
    Archive-Tar      [0.072  ] module for manipulation of tar archives.
    Compress-Zlib    [1.16   ] Interface to zlib compression library
    Digest           [1      ] Modules that calculate message digests
    Digest-HMAC      [1.01   ] Keyed-Hashing for Message Authentication
    Digest-MD2       [2      ] Perl interface to the MD2 Algorithm
    Digest-MD4       [1.1    ] Perl interface to the MD4 Algorithm
    Digest-MD5       [2.20   ] Perl interface to the MD5 Algorithm
    Digest-SHA1      [2.01   ] Perl interface to the SHA-1 Algorithm
    File-CounterFile [0.12   ] Persistent counter class
    Font-AFM         [1.18   ] Interface to Adobe Font Metrics files
    HTML-Parser      [3.26   ] HTML parser class
    HTML-Tagset      [3.03   ] Data tables useful in parsing HTML
    HTML-Tree        [3.11   ] HTML syntax tree builder
    MD5              [2.02   ] Perl interface to the MD5 Algorithm (obsolete)
    MIME-Base64      [2.12   ] Encoding and decoding of base64 strings
    Net-Telnet       [3.03   ] Interact with TELNET port or other TCP ports
    PPM              [2.2    ] Perl Package Manager: locate, install, upgrade
                               software packages.
    SOAP-Lite        [0.55   ] Library for Simple Object Access Protocol (SOAP)
                               clients and servers in Perl
    Storable         [1.0.12 ] persistency for perl data structures
    Tk               [800.024] A Graphical User Interface Toolkit
    URI              [1.19   ] Uniform Resource Identifiers (absolute and relative)
    XML-Parser       [2.27   ] A Perl module for parsing XML documents
    XML-Simple       [1.06   ] Easy API to read/write XML (esp config files)
    libnet           [1.12   ] Collection of Network protocol modules
    libwin32         [0.20   ] A collection of extensions that aims to provide
                               comprehensive access to the Windows API.
    libwww-perl      [5.68   ] Library for WWW access in Perl
     
    C:\WINNT\system32>

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Autre élément d'information : lorsque l'on fait un copié-collé du texte Word dans un éditeur de texte (chez nous, c'est TextPad), et qu'on insère ensuite par copié-collé le texte de TextPad dans la base, ça fonctionne.

    Le soucis, c'est que ce n'est pas une science exacte, ça fonctionne mais pas toujours. Est-ce à croire que le problème est différent d'une version Word à l'autre ???

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    J'vous ai bien calmé avec mon problème hein

    En attendant, l'est toujours là le bougre

  4. #4
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    je serais tenté de te proposer de t'orienter vers un codage html 16-bit et de transformer tous tes caractères "spéciaux" avant de les enregistrer dans ta base. Donc é => &eacute; ê =>< &ecirc; etc....
    Mais je ne sais pas si ca va bien t'aider...

    @+
    Mr6

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 427
    Par défaut
    les encodage c'est vraiment la merde.
    Pourquoi tout le monde n'ecrit pas en 7 bits ?

    pour ton probleme precis tu peux essayer Encode::Guess qui fait partie du core (ou encore mieux Encode:etect, mais bon la il faut l'installer, et en plus il est ultra chiant à installer....)

    bon courage

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Zut, Encode::Guess fait peut être parti du Core, mais pas sur ma version v5.6.1 build 635 d'Active State

    Et vu que je ne peux rien installer et encore moins une nouvelle release de Perl, je ne peux pas passer par cette solution.

    Et le problème persiste toujours, pour résumer rapidos :

    - les champs de notre BDD sont visualisables selon les postes de 2 façons : soit façon webtop (l'affichage n'est que du html), soit dans une vieille version logicielle conçue avec VB6 et qui affiche dans des fenêtres en mode texte.

    - des copiés-collés de phrases via word ou Excel directement dans les champs de la BDD remplacent certains caractères. Exemple : d'une certitude sous Word devient d.une certitude une fois dans la base de données.

    - le problème, c'est que via le webtop, on ne voit aucune anomalie alors qu'en version logicielle, ça saute littéralement aux yeux. Mise en oeuvre devient Mise en .uvre et ce genre de cas est chiatique au possible car nous faisons énormément d'exports des données de notre base au format brut (txt).

    Pour l'instant, je me contente (et c'est un bien grand mot) d'un script Perl fait à l'arrache et qui scanne un enregistrement contenant des titres pour tenter de corriger ce type d'erreurs. Mais les cas particuliers sont nombreux et une simple correction peut parfois amener d'autres erreurs plutôt qu'une bonne correction.

Discussions similaires

  1. Problème de caractère ?
    Par Leishmaniose dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 07/11/2006, 17h29
  2. problème de caractères clavier!!!
    Par brunetc dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 10/06/2005, 13h39
  3. [SQL Server] problème de caractères spéciaux
    Par mbibim63 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/06/2005, 18h38
  4. [MiniPascal] Problème de caractères accentués
    Par Clandestino dans le forum Autres IDE
    Réponses: 3
    Dernier message: 03/10/2004, 13h12
  5. Problème de LINK Bizarre !!
    Par Jasmine dans le forum MFC
    Réponses: 24
    Dernier message: 19/03/2004, 15h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo