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

Java Discussion :

Supprimer les caractères non unicode


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut Supprimer les caractères non unicode
    Bonjour,

    Mon script Groovy executé en Java plante tout le temps à cause d'une erreur :
    unexpected char: 0xFFFF

    Or 0xFFFF ne fais pas partie des caractères unicodes. Je ne comprend pas d'où vient cette bizarrerie qui ne pose problème nul part ailleurs. Je souhaiterais donc une fonction pour débarrasser le string des caractères non unicode. Cela existe-t-il ?

    Merci

  2. #2
    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
    Supprimer ds caractères "parce qu'ils t'arrangent pas" sans savoir ce qui les a causés ni d'où ils viennent, est en général une faute de sécurité lourde.
    Mais si c'est le contenu d'un tweet à publier, par exemple, ça devrait aller.

    Supprimer les 0xFFFF n'est pas très compliqué.
    Par contre, supprimer les "caractères non Unicode" dépend de ce que c'est qu'un caractère non Unicode, notion absurde en soi dès qu'on parle de codes numériques.

    On pourrait supprimer les caractères de catégorie UNASSIGNED, de code "Cn", dont la propriété est que la liste des caractères Unicode n'en contient aucun, puisque justement ils ne sont pas dans la liste. 0xFFFF en fait partie.
    Mais les caractères réservés pour définition future, aussi. Veut-on vraiment les enlever ? Ils seront peut-être définis un jour !

    Ce n'est pas le cas de 0xFFFF qui est ce qu'on appelle un Noncharacter, réservé pour garantir qu'il ne sera jamais défini. La liste des noncharacters est connue et fixe, indiquée dans ce lien. Mais à ma connaissance, Java ne propose pas de détecter si un code est noncharacter, ni un groupe regex qui y correspond.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    L'erreur doit peut-être venir du fait que le fichier du script Groovy n'est pas au format UTF-8. As-tu créé le fichier avec bloc-note ?

    Pour faire le test, ouvre Notepad++ (ou autre éditeur du même type), met l'encodage à UTF-8 sans BOM, et normalement tu devras voir apparaitre toutes les "bizarreries".
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

Discussions similaires

  1. [PL/SQL] Supprimer les caractères non numériques
    Par Oliveuh dans le forum PL/SQL
    Réponses: 6
    Dernier message: 25/06/2015, 12h13
  2. [RegEx] Supprimer les caractères non alpha numérique
    Par Opsse dans le forum Langage
    Réponses: 4
    Dernier message: 12/05/2013, 21h00
  3. Supprimer les caractères blancs en fin de ligne
    Par st20085 dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 06/09/2006, 22h51
  4. [REGEX] Récupérer tous les caractères non US-ASCII
    Par nonhosonno dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 11/08/2006, 10h02
  5. [Jsp] Supprimer les caractère spéciaux d'une chaine
    Par PeteMitchell dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/05/2004, 11h11

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