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

Entrée/Sortie Java Discussion :

Problème avec les lettres cyrillic


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 18
    Points
    18
    Par défaut Problème avec les lettres cyrillic
    Bonjour,

    J'ai utilisé une librairie JavaDBF pour générer mes fichiers dbf. Mais, les dbf ne supportent pas les lettres cyrillics.
    Avez vous une idée coment afficher ces lettres ?


    Merci d'avance,

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Si vraiment c'est juste pas possible avec .dbf, la seule solution est de contourner la limitation.

    Je propose par exemple l'approche à la XML : remplacer & par &, et remplacer les caractères non gérés par &#CODE_UNICODE;

    où CODE_UNICODE serait un nombre entier positif, représentant le codepoint unicode du caractère non géré.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Voilà mon bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    		DBFWriter writer = new DBFWriter();
                    rowData = new Object[3];
    		rowData[0] = "1002";
    		rowData[1] = "\u0414";
    		rowData[2] = new Double(7350.00);
    		 writer.setCharactersetName("UTF-8");		 
    		writer.addRecord(rowData);
    		FileOutputStream fos = new   FileOutputStream("d:\\test.dbf");		
    		writer.write(fos);
    		fos.close();
    Mais le caractère "-" s'affiche au lieu de Д

    Merci,

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Moi, DBF j'y connais rien. Mais si tu es certain que DBF ne permet pas d'enregistrer du texte russe, ce n'est pas la peine de le forcer à le faire, il faut contourner.

    Je t'ai proposé par exemple de contourner en échappant les caractères. Par exemple de la même manière qu'on le fait en XML.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Merci, mais j'ai écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    rowData[1] = "\u0417";
    mais je n'ai pas eu ma lettre cyrillic

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    ...

    J'ai parlé d'échapper.

    Si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Writer writer = new InputStreamWriter(new FileInputStream("test.txt"), "utf-8");
    writer.write("\u0417\r\n");
    Ton fichier, il contient quoi ? Д ou \u0417 ?
    Supposons qu'il contienne Д, qu'en déduis-tu ? Que tu as échappé le caractère avant de l'enregistrer, ou bien que tu l'as enregistré tel que sans aucun échappement d'aucune sorte ?

    Ce que tu essaies de faire, c'est :


  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Mon problème c'est que les lettres cyrillics ne sont pas affichées dans les fichiers dbf.

    "La bibliothèque javaDBF permet de générer les fichiers dbf"

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Moi je t'ai juste cru quand tu as dit "le cyrillique dans les DBF c'est pas possible" et je t'ai proposé des moyens de stocker des choses qu'on ne peut pas stocker telles que.

    S'il est, en fait, possible de stocker du cyrillique dans les DBF (contrairement à ce que tu dis au début donc,) je n'ai rien d'utile à dire.
    Il faut attendre quelqu'un de compétant dans le domaine.

    Enfin, vérifie quand même s'il n'est pas possible d'indiquer avec quel charset le DBF doit stocker ses textes.

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/12/2006, 12h27
  2. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 10h04
  3. Problème avec les apostrophes
    Par misterbillyboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/07/2003, 17h39
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 16h44
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 10h59

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