Bonjour,
J'ai un petit souci avec les noms de fichiers que j'upload ou que je crée à partir de mes servlets sur un serveur linux.
Quand je fais la manip en local (tomcat & windows XP), ça fonctionne nickel , mais quand je déploie l'appli sur le serveur linux
(Mandriva 2006), si le nom du fichier que je crée comporte des accents, linux me le renomme au format 8.3
Exemple de code de la servlet (simplifié pour aller au plus court):
File doc = new File(".", "Développer en Java.pdf" );
doc.createNewFile();
Sur le serveur, il me crée un fichier nommé DVV5BV~G.PDF
Quand je veux faire un lien depuis une jsp pour consulter le fichier (<a href="...), doc.getName() me retourne "D?velopper en Java.pdf",
c'est déjà mieux que DVV5BV~G.PDF mais ça ne fonctionne pas...
J'ai essayé de changer les charset des jsp, de la servlet (request.setCharacterEncoding(...)), en utilisant UTF-8 ou ISO-8859-1,
c'est toujours pareil. Sur le serveur linux, le langage est Fr fr.
Le nom de fichier à 2 balles sur le serveur, c'est pas grave si doc.getName() peut me retourner le bon nom de fichier dans mes jsp.
Enfin dernière précision, je voudrais garder le nom de fichier d'origine (donc pas de renommage), parce que le but de la manip est
d'uploader des fichiers d'un réseau local sur le serveur web pour pouvoir les consulter depuis une appli web (puisque firefox empêche
l'ouverture de fichiers locaux depuis une page web, il faut bien faire autrement...).
Mon code doit être correct puisque ça fonctionne très bien en local, et la conf du tomcat réseau est la même que le tomcat en local (version 5.5).
Merci d'avance pour votre aide...