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

Langage Java Discussion :

String comme "\u0643..." ne sont pas reconnues


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut String comme "\u0643..." ne sont pas reconnues
    Bonjour et bonne année.

    Je suis face à un probleme qui me bloque depuis un temps, alors j'ai une variable String qui contient une valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String ar="\u0633\u0643\u064a\u0643\u062f\u0629"
    et J'ai une base de donnée qui contient un champ de type texte qui a la meme valeur:
    Mot fr Mot ar
    Jouer \u0633\u0643\u064a\u0643\u062f\u0629

    le probleme c'est que quand je recupere la valeur du Mot ar depuis la BDD, et que je la compart avec le String que j'ai predifinie, il me dit que c'est faux et que les deux valeurs ne sont pas identique!!! ou est le probleme??

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Les notations \u sont spécifiques au compilateur java et permettent d'encoder des caractère pas facilement encodable dans le code source. Il ne sont interprétés que dans le code source, par le compilateur. Inutile dont de mettre des \u dans la base de donnée, cela ne sert à rien. Tu as juste créé un String dans ton code source contenant "سكيدة" , soit 6 caractères arabes, et une String dans ta base de données contenant "\u0633\u0643\u064a\u0643\u062f\u0629", soit 30 caractères latins. Les deux n'ont forcément rien à voir lors d'un equals.

    => Met le texte en arabe dans ta base de données, pas des trucs avec du \u.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut
    Merci pour votre reponse, j'ai fait cette manipulation, mais lors de l'affichage, au lieu d'avoir des lettres en arabes, j'ai des ?????

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Vraisemblablement parce que l'affichage ne gère pas les lettres arabes. C'est classique avec le mode console.
    Affiche-le plutôt dans une fenêtre, ou enregistre-le dans un fichier utf-8.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Il y a aussi le risque que la base de données soit mal configurée et ne gère pas l'arabe, le risque que la connexion à la base de données soit mal configurée et ne gère que le latin, le risque qu'on aie inséré n'importe quoi dans la base de données :/

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut
    Bon pour la base de donnée j'ai utilisé Access, et mon resultat je veux l'afficher durectement sur JTextPane.

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Je ne suis pas sur que access gère suffisament l'unicode pour pouvoir récupérer des données arabe en java depuis cette base. De plus, le pont jdbc-odbc que tu as probablement utilisé pour te connecter à access n'est plus présent dans java 8.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut
    Dans ce cas vous proposez quoi?

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Une autre base de données, access c'est bien si tu as une vieille base à interfacer, mais pas pour du neuf. Le type de base dépendra de ton besoin.

Discussions similaires

  1. les champs de mon formulaire ne sont pas reconnu
    Par molo1987 dans le forum Langage
    Réponses: 9
    Dernier message: 28/02/2011, 21h25
  2. Réponses: 5
    Dernier message: 31/03/2006, 16h56
  3. Réponses: 5
    Dernier message: 30/05/2005, 16h58

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