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 :

Detection de caracteres speciaux


Sujet :

Langage Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut Detection de caracteres speciaux
    Bonjour,
    dans mon programme je récupère une String dans la quelle se trouvent des caractères normaux mais également des caractères en ancien vietnamien (des symboles semblables au chinois pour faire simple).

    Il faut que je sépare ces caractères spéciaux des autres...

    auriez-vous une idée de la manière de procéder, j'ai penser à tester les encodages mais je ne vois pas trop comment faire

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    En Java une String est obligatoirement encodé en UTF-16 !

    Donc soit ta String est correcte et alors je ne comprend pas trop ton problème ?
    Soit le contenu de ta Strign est incorrect, mais alors tu devras agir sur le code qui récupère ta String et non pas sur cette dernière (si elle est mal encodé il y a des chances que tu ne puissent pas retrouver les bonnes données).

    a++

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    mon probleme n'est pas de récupérer cette string. je l'ai et elle contient bien les caracteres.

    Voici un exemple :
    Văn xã Kim Lũ 金縷社文村

    Mon probleme est d'arriver à séparer "Văn xã Kim Lũ" et "金縷社文村" en parcourant ma string.

    J'espere avoir été plus clair...

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    Bon et bien j'ai trouvé une solution un peu bidouillée,

    j'ai tout simplement cherché le mot en majuscule car ces caracteres sont en fait des majuscules et que je n'en ai aucun autre dans mon corpus.

    Bon je vais mettre résolu meme si cette solution est applicable dans mon cas mais pas forcément pour tous

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Donc ta chaine est parfaitement formé et tu n'as pas à tripatouiller l'encodage !


    Il suffit donc de regarder la doc de l'Unicode pour regarder le groupe correspondant, puis tout simplement effectuer une comparaison de valeur...

    Mieux tu peux tout simplement utiliser la classe UnicodeBlock pour récupérer cette info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		String str = "Văn xã Kim Lũ 金縷社文村";
    		System.out.println(str);
    		int i=0;
    		for (i=0; i<str.length(); i++) {
    			char c = str.charAt(i);
    			System.out.printf("%c %04X => %s%n", c, (int)c, UnicodeBlock.of(c));
    		}
    Apparemment ces caractères appartiennent au groupe CJK_UNIFIED_IDEOGRAPHS !

    a++

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    OK ca marche nickel j'avais laissé mes tests sur les majuscules mais j'ai du les changer.

    Ta solution est parfaite
    Merci beaucoup

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

Discussions similaires

  1. Detection/Update des caracteres speciaux
    Par rastalien dans le forum Administration
    Réponses: 1
    Dernier message: 07/05/2008, 14h33
  2. [sgbd] perl, oracle et caracteres speciaux
    Par fsapet dans le forum SGBD
    Réponses: 2
    Dernier message: 07/09/2004, 12h22
  3. [Débutant][String] Remplacez les caractères speciaux
    Par paf15 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 27/04/2004, 23h39
  4. [langage] Caractères spéciaux
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 28/11/2003, 11h39
  5. insertion caracteres speciaux html
    Par arcane dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/09/2003, 15h16

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