Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme de charset upload http sur tomcat

4 réponses
Avatar
Franck
Salut,

J'ai un problème lors de l'upload de fichier sur un serveur
d'application.
Sur le tomcat de dev (eclipse/windows), pas de problème, les noms de
fichiers sont bien reconnus.

Par contre une fois en prod sur un serveur Linux, plus moyen de traiter
convenablement les caractères spéciaux.

Dans la page html qui uploade j'ai la balise :
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">

le form d'upload est encodé:
<form name="purchaseForm" method="post" action="/workflow/purchase.do"
enctype="multipart/form-data">

Au niveau du système (Fedora 3), j'ai testé dans /etc/sysconfig/i18n :

LANG="fr_FR@euro"
SUPPORTED="fr_FR@euro:fr_FR:fr"
SYSFONT="lat0-sun16"
SYSFONTACM="iso15"

j'ai aussi testé

LANG="fr_FR.UTF-8"
SUPPORTED="fr_FR.UTF-8:fr_FR:fr"
SYSFONT="latarcyrheb-sun16"


Je vois pas ou regarder ailleurs

Un coup de main svp?

Merci d'avance

--
-
Franck
mailto:flefebure2.NO@SPAM.orangecaraibe.com

4 réponses

Avatar
Franck
Quelques précisions supplémentaires

J'ai fixé la varibale d'environnement LC_ALL=fr_FR
Si j'execute sur la machine (via la commande "java") :

byte b[] = {};
InputStreamReader isr
= new InputStreamReader( new ByteArrayInputStream( b ) );
System.out.println( "JVM's default encoding: " + isr.getEncoding() );

J'ai bien à l'affichage :
JVM's default encoding: ISO8859_1

Par contre si j'execute ce code dans Tomcat j'ai :
JVM's default encoding: ASCII

Ceci expliquant cela.

Par contre Tomcat est sensé prendre comme default_charset celui du
système...

???
Merci

--
-
Franck
mailto:
Avatar
Rene Mouchot

Quelques précisions supplémentaires

J'ai fixé la varibale d'environnement LC_ALL=fr_FR
Si j'execute sur la machine (via la commande "java") :

byte b[] = {};
InputStreamReader isr
= new InputStreamReader( new ByteArrayInputStream( b ) );
System.out.println( "JVM's default encoding: " + isr.getEncoding() );

J'ai bien à l'affichage :
JVM's default encoding: ISO8859_1

Par contre si j'execute ce code dans Tomcat j'ai :
JVM's default encoding: ASCII

Ceci expliquant cela.

Par contre Tomcat est sensé prendre comme default_charset celui du
système...



salut,
tu devrais essayer la liste des utilisateurs tomcat ( en english in ze
text )
<URL:http://jakarta.apache.org/site/mail2.html#Tomcat> ou les archives
a www.mail-archive.com , liste tomcat-user.

a+
--
Rene Mouchot

Avatar
Lionel
Franck wrote:
Salut,

J'ai un problème lors de l'upload de fichier sur un serveur
d'application.
Sur le tomcat de dev (eclipse/windows), pas de problème, les noms de
fichiers sont bien reconnus.

Par contre une fois en prod sur un serveur Linux, plus moyen de
traiter convenablement les caractères spéciaux.

Dans la page html qui uploade j'ai la balise :
<meta http-equiv="content-type"
content="text/html;charset=ISO-8859-1">



Et avec ceci coté serveur avant de récupérer les données sur la request:
request.setCharacterEncoding("ISO-8859-1");

Avatar
Franck
Merci,

Je m'en suis sorti en modifiant les parametres d'ini de la JVM
(-Dfile.encoding=ISO-8859-1)

Mais je classe ça dans les bugs, car par défaut les applis TJava sont
sensés se caler sur le charset du système.

Bye


--
-
Franck
mailto: