Bonjour,
J'ai besoin de faire un split lors du traitement d'un fichier sur le caractere ¤
Le probleme c'est qu'une fois mon projet deposé sur un systeme unix il ne reconnait pas le caractere(
hellllppppppppp
Bonjour,
J'ai besoin de faire un split lors du traitement d'un fichier sur le caractere ¤
Le probleme c'est qu'une fois mon projet deposé sur un systeme unix il ne reconnait pas le caractere(
hellllppppppppp
Et avec :
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ta_string.split("\u00A4");
Je viens de tester et cela à le meme resultat qu'avec le caractere ¤, cela peut-il poser un problème si je passe d'abord par une string ??
Genre
En fait quand j'affiche le debug dans le cas ou le separateur n'est pas trouvé, ça m'affiche un point d'interrogation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String Separateur_de_Fichier = "\u00A4"; //"¤"; tmp=archiv_filesname[i].split(Separateur_de_Fichier);![]()
J'avais aussi tester un truc du genre \xA4 mais sans réussite![]()
Tes fichiers sources sont dans quel encoding ? En essayant de les mettre en UTF8 c'est pas mieux ?
Mes fichiers sont des fichiers plats CSV, pas de précision sur l'encoding.
Par contre la machine est un linux mandrake et non pas un aix comme j'ai pu le laisser entendre.
Vu que ça marche sur ma version pc... est-ce qu'il y aurait du paramétrage à faire au niveau de la JVM sur le linux ???
Je parlais de tes fichiers .java ... et quel environnement de dév tu utilises ?
Je bosse avec eclipse 3.1.2
Nivo encoding de ma classe euhhh, ha si c'est bon je viens de trouver ce dont tu parles !![]()
Ce serait Cp1252 (valeur par défaut hérité du conteneur)
J'ai bon ?
Quand je passe ma classe en mode UTF-8, ça transforme mon caractère en �, (je sais pas si ça sera visible, mais sous eclipse on dirait un point d'interrogation sur un losange).
Mais dans ce cas, en utilisant le code hexa ça fonctionne quand meme, mais pas sur le linux![]()
Et si tu utilises maintenant le vrai caractère directement dans ton fichier source ?
Pareil, dans mon script sous eclipse tous les caracteres accentués se retrouve remplacé par un carré, et lorsque je l'éxécute ça donne des "?" sur pc et linux ... comment peut on savoir quelle charset utilise la JVM ?
Pas compris ça .... Ton fichier est en utf8 tu peux mettre ¤ directement dedans non ??dans mon script sous eclipse tous les caracteres accentués se retrouve remplacé par un carré
oui oui, en fait quand je passe de Cp1252 à UTF-8, ça me remplace tous les caractères accentués dans le code par un carré. Le caractère ¤ est lui remplacé par point d'interrogation sur un losange.
J'ai donc retapé le cartactère ¤, mais ça ne change rien au résultat global, ça fonctionne sur pc mais pas sur linux![]()
Très étrange là je ne vois pas ...
Aussi sur le linux j'ai vu qu'il y avait 2 version de jre, la 1.4.2 et celle que j'ai installée 1.5.11 ... je vois qu'il y a pas mal de variable d'envrionnement qui tape sur le 1.4.2 mais moi j'ai mis tout le path pour etre sur d'utiliser le 1.5.11 pour pouvoir exécuter mon jar correctement (c''est un fat jar , car ç inclut le classes12.jar d'oracle...)
Je me demandais s'il n'y avait pas un risque que lors de l'exécution un charset quelconque vient mettre la grouille la dedans ???
un petit up pour si qqun à de quoi m'aider ...
J'ai trouvépour ceux qui arriveront un jour sur ce problème !
En effet ça sentait le pb de charset de la JVM !
Donc avec ça on voit quelle charset elle utilise :
Sur mon windows j'avais : windows-1252
Code : Sélectionner tout - Visualiser dans une fenêtre à part System.out.print(Charset.defaultCharset());
Sur mon linux j'avais quelque chose comme : ISO 8859-1
Donc j'ai modifié la commande d'exécution de mon jar par :
Et ça roule impecc, bon peut etre qu'on peut améliorer en forçant le charset dans la classe pour se prémunir de se genre de chose ... mais bon je débute en java mouaaaa
Code : Sélectionner tout - Visualiser dans une fenêtre à part java -Dfile.encoding=windows-1252 -jar monjar.jar
![]()
Partager