Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1753 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java / Servlet] Nom de fichiers french-like sous linux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java / Servlet] Nom de fichiers french-like sous linux

n°1621633
el Totof
Posté le 10-10-2007 à 14:35:02  profilanswer
 

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 :heink:  
 
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...

mood
Publicité
Posté le 10-10-2007 à 14:35:02  profilanswer
 

n°1621641
Taz
bisounours-codeur
Posté le 10-10-2007 à 14:41:55  profilanswer
 

c'est pas linux qui fait ça.

n°1621677
el Totof
Posté le 10-10-2007 à 15:09:52  profilanswer
 

Tu dois avoir raison puisqu'on peut faire un touch éè.... sans souci sur le serveur.
Mais comme le code doit être correct et que le souci ne vient pas de linux, ... ça doit donc être tomcat le responsable. Mais j'ai beau retourner les fichiers de conf dans tous les sens, il n'y a rien qui concerne le langage, et ce sont les mêmes que pour mon tomcat local.

n°1625678
el Totof
Posté le 17-10-2007 à 16:19:30  profilanswer
 

ça y est!!!
En fait, c'est tomcat qui s'embrouillait. l'option n'est pas facile à trouver puisque par défaut il n'y a aucune valeur de précisée dans les fichiers de conf.
Il faut modifier le fichier startup.sh (unix) ou startup.bat (windows) en y ajoutant la ligne suivante:
CATALINA_OPTS="-Dfile.encoding=ISO8859-1"

n°1625689
Taz
bisounours-codeur
Posté le 17-10-2007 à 16:27:27  profilanswer
 

peut-être serait-il judicieux d'utiliser de l'UTF-8 ?
Je trouve un poil bizarre quand même que sur linux ça ait basculé sur 8.3 ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java / Servlet] Nom de fichiers french-like sous linux

 

Sujets relatifs
[RESOLU] Comparer 2 fichiers de donnéesImpression en Java
[JAVA] Forcer l'exécution d'une version antérieur du JREQuelques problèmes de fichiers + chemins d'accès
Probleme deployement sur SUN JAVA SYSTEM APPLICATION SERVER 9.1Lire données EXIF de fichiers dans un répertoire
Tagger des fichiers mp3 ou vidéo avec une licence Creative CommonsQuestions diverses sur le java
[resolu][java/mysql] restauration de dump[Java, JSP, Servlet] Problème de session
Plus de sujets relatifs à : [Java / Servlet] Nom de fichiers french-like sous linux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR