Si vous essayez d'ouvrir un fichier, il indique qu'il est introuvable en raison d'une incompatibilité de jeu de caractères lorsque les noms de fichiers ont des accents. Je travaille en utilisant UTF-8 sur un système Linux (/ etc/locales définit UTF-8 aussi). Exécution jboss avec -Dfile.encoding = UTF-8 et JBOSS_ENCODING variable d'environnement = "UTF-8"Problème de charset de nom de fichier dans java
Avec JSP Je reçois le nom du fichier:
String fileName = element.getChildText("FileName");
out.println("File to be opened : " + filename);
Affiche:
Fichier à ouvrir: aaaaaà.txt
Mais, un nouveau fichier (nomfichier) ne fonctionnera pas. Juste fichier.exists() est faux.
Essayer de:
File[] files = dir.listFiles();
for (int i=0; i<files.length; i++){
out.println(fileName);
Je reçois: Aaaaaa .txt
Pourquoi est-il en train de lire et d'essayer d'ouvrir la prise de fichier du fichier sur le disque dur ISO-8859-1? Est-ce une config JBoss? Une config java? Comment puis-je forcer java.io.File à lire le fichier en utilisant l'UTF-8 comme charset du nom de fichier?J'ai utilisé d'autres outils et le nom est toujours lu correctement, en utilisant UTF-8.
(notez que je parle toujours sur le nom du fichier, jamais le contenu, il pourrait être un fichier vide)
'-Dfile.encoding = UTF-8' est spécifique à la JVM Sun/Oracle. Quelles JVM utilisez-vous? Même alors, vous devriez après tout ne pas utiliser cet argument du tout. – BalusC
@BalusC: Je ne suis pas sûr de ce que vous entendez par là. La balise "-Dfile.encoding" est également prise en charge par IBM JVM au moins (je ne suis pas sûr combien d'autres JVM sont sérieusement utilisées aujourd'hui). –
JVM est Java Hotspot, de toute façon, donc il correspond au commentaire –