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

C Discussion :

[Solaris10] Problème d'encodage


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 138
    Par défaut [Solaris10] Problème d'encodage
    Bonjour tout le monde.
    Je m'adresse à vous pour vous demander un truc qui devient pour moi, un peu embarrassant:
    J'ai fait un petit programme en C, et ce programme a pour but de transformer un fichier XML donnée en entrée, vers un fichier TXT en suivant des normes.
    Le fichier d’entrée (XML) est encodé UTF-8, et dans mon fichier plat de sortie, je force l'encodage à UTF-8, et j'ai codé sous windows.
    Durant la phase test de mon programme, je rencontrais des problème de caractères spéciaux et accentués, mais j'avais lu quelque part que ce problème n'est pas rencontré sous Unix, et c'a m'avait rassuré un peu ...
    Après déploiement du programme chez mon client, qui a Solaris 10 comme système, il m'a remonté le problème de caractères spéciaux et accentués.

    Pourriez vous me guider à chercher la source de ce problème?

    Merci d'avance

    Imad_ing

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 138
    Par défaut
    Re:Bonjour,

    Voilà si ca peut vous aider à me donner une piste:

    Pour le fichier de sortie: (C'est moi qui le construit)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ofstream SaveFileLog(fileLog.c_str())
    Pour mon fichier XML: (Donnée comme entrée)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="UTF-8"?>

    Merci pour vos remarques et réponses

    Imad_ing

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 454
    Par défaut
    Bonjour,

    Ça, c'est du C++, pas du C.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Mon compilateur me fourni une fonction pour ce genre de chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WideString __fastcall UTF8Decode(const UTF8String S);
    Vous devriez avoir aussi un fonction qui ressemble à cela.
    Si ce n'est pas le cas, je peux vous faire un convertisseur.
    Que se passe-il si vous essayez le visualiser le fichier XML en double-cliquant sur le fichier dans l'explorateur, c'est à dire en laissant Windows faire, tout simplement?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 138
    Par défaut [Solaris10] Problème d'encodage
    Si ce n'est pas le cas, je peux vous faire un convertisseur.
    Que se passe-il si vous essayez le visualiser le fichier XML en double-cliquant sur le fichier dans l'explorateur, c'est à dire en laissant Windows faire, tout simplement?
    Merci tout d'abord pour ta réponse.

    En essayant d'ouvrir ce fichier sous Windows, il m'affiche des caractères spéciaux à la place de mes caractères accentués.

    Mais en faisant un test sur une machine virtuelle Ubuntu, le fichier s'ouvre sans problème.

    J'espère que ca va t'aider à m'aider

    Merci d'avance

    Imad_ing

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bon, le mieux serait de m'envoyer quelques lignes pour test (en MP éventuellement), mais ton compilateur devrait avoir des fonctions pour ce genre de chose. Naturellement ma proposition tient toujours.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 138
    Par défaut [Solaris10] Problème d'encodage
    Re:Bonjour,

    Merci beaucoup pour ton intérêt.
    Au fait, je viens de faire un petit test et voilà ce que ca donne:
    Le programme C++ de conversion du fichier XML vers TXT marche bien, et c'est pas de là que vient le problème.
    Le problème est que mon programme est situé au milieu d'une chaine de travail, et le résultat géréré par mon programme est utilisé par un autre, qui ne supporte pas l'UTF-8 !!!

    Donc, je dois reformuler ma question:
    Est ce qu'il y'a un moyen ou une ligne de code à ajouter à la fin de mon programme pour convertir le fichier TXT résultat en ISO 8859-1 ?
    Ou encore, est ce qu'il y'a un moyen, lors de la création de mon fichier TXT de sortie, de lui forcer le type d'encodage ISO 8859-1?

    Merci d'avance

    Imad_Ing

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2007
    Messages : 138
    Par défaut [Solaris10] Problème d'encodage
    Voilà comment j'enregistre mon fichier txt de sortie

    ofstream SaveFile(fileout.c_str());

  9. #9
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Regarde les codecvt dans la lib standard -- mais c'est d'une utilisation assez penible. iconv est d'un emploi plus facile.

Discussions similaires

  1. [CSV] Problème d'encodage
    Par simoryl dans le forum Langage
    Réponses: 13
    Dernier message: 18/04/2012, 15h20
  2. Problème d'encodage avec Python
    Par tse_tilky_moje_imja dans le forum Général Python
    Réponses: 2
    Dernier message: 22/02/2006, 14h36
  3. Problème d'encodage en Unicode
    Par Skreo dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 28/12/2005, 10h43
  4. Problème d'encodage sur MySql 4.1
    Par Blanchet dans le forum Outils
    Réponses: 1
    Dernier message: 04/12/2005, 04h53
  5. [XML::PARSER] Problème d'encodage
    Par frangin2003 dans le forum Modules
    Réponses: 13
    Dernier message: 05/09/2005, 14h59

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