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 :

Open sur un ifstream avec un fichier accentué


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 134
    Par défaut Open sur un ifstream avec un fichier accentué
    Bonjour,
    Je fais un open sur un ifstream avec un fichier qui est accentué et ce dernier ne s'ouvre pas.

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      std::ifstream _recordFile;
      std::string  _fileName = fileName;
      TRACE( "***fileName.c_str()<"<<fileName.c_str()<<">" );
      _recordFile.open(fileName.c_str(), ios_base::in | ios_base::binary );
      TRACE( "***_recordFile.rdstate()<"<<_recordFile.rdstate()<<">");
    En retour j'ai:
    ***fileName.c_str()<C:\Documents and Settings\...\Bureau\Application1ééé.txt>
    ***_recordFile.rdstate()<2>

    Si j'enlève les 3 é mon fichier s'ouvre sans problème. Je n'ai aucune idée d’où viens le problème.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Tu as essayé en paramétrant ifstream avec wchar_t ?

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Par défaut
    Ce ne serait pas une histoire d'encodage utf8 / iso-8859-1 du fichier source contenant ta chaîne de caractères accentuée ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 134
    Par défaut
    Citation Envoyé par cob59 Voir le message
    Ce ne serait pas une histoire d'encodage utf8 / iso-8859-1 du fichier source contenant ta chaîne de caractères accentuée ?
    Ça m'en a tout l'air, j'appelle le code au travers d'une api java généré avec jni, ou à l'intérieur il y a plein de GetStringUTFChars ReleaseStringUTFChars etc...

    Est ce qu'il y a moyen corriger ma string dans mon code C++?
    Merci pour ton début de piste.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Article intéressant sur ces sujets.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 134
    Par défaut
    Merci pour vos réponses, c'est possible de changer le type d'encodage mais c'est trop lourd à mettre en place. Ça dépend de la plateforme en plus et je peut pas toucher à l'api java. Au final j'interdirai les fichiers accentués.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Attention : le nom de fichier et le contenu du fichier sont deux choses différentes.

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Par défaut
    Est-ce que la chaîne "Application1ééé.txt" est contenue directement dans le fichier source ou passée via l'API Java ?
    Dans le premier cas, il faudrait changer l'encodage du fichier source vers utf8, iso-latin-1 ou ce qui semble fonctionner, via les options de ton éditeur de texte ou EDI. Sinon il s'agira de faire transiter des chaines de caractère correctement encodées via ton API, donc d'appeler les méthodes appropriées en Java et en C++.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SGBD sur SUN Solaris avec synchro fichier txt
    Par Nicos77 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 01/02/2007, 15h03
  2. Ouvrir un fichier sur un réseau avec fopen
    Par dadou38 dans le forum Langage
    Réponses: 4
    Dernier message: 28/10/2006, 12h19
  3. [XML] Créer un fichier sur le serveur avec le contenu d'une requête POST
    Par kingmandrax dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 27/10/2006, 00h18
  4. Travail sur divers PC avec fichier attaché
    Par mavean dans le forum Access
    Réponses: 2
    Dernier message: 12/12/2005, 16h48
  5. Réponses: 15
    Dernier message: 01/09/2005, 10h07

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