To be honest, I dont know where does it come from
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
My page is fully UTF-8
HTTP/1.1 200 OK
X-Powered-By: JSP/2.1
Server: GlassFish v3
Pragma: No-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 01:00:00 CET
Content-Type: text/html;charset=UTF-8
Content-Language: ca
Date: Mon, 02 Nov 2009 14:21:42 GMT
Content-Length: 5753
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
....
<form action="/projects/1/vulnerabilities/29/evidences/9/attachments" class="formulari" id="formulari" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
I hate browsers :S
Date: Mon, 2 Nov 2009 14:47:56 +0100
From: Paul.Sandoz_at_Sun.COM
To: users_at_jersey.dev.java.net
Subject: Re: [Jersey] Multipart Form And Encoding
On Nov 2, 2009, at 2:31 PM, Jordi Domingo wrote:Hi Paul,
My clients are normal browser right now, how can i make them to declare the content-type for each part?
I do not know. If the Content-Type is absent then it means a content type of "text/plain". But under those conditions (unless out of band information is utilized) one has to assume the content is encoded in UTF-8.
The only clue that ISO-8859-1 is utilized is the following in the logged output of the POST request:
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
:-(
Paul.
Thanks,
JOrdi
> Date: Mon, 2 Nov 2009 13:40:38 +0100
> From: Paul.Sandoz_at_Sun.COM
> To: users_at_jersey.dev.java.net
> Subject: Re: [Jersey] Multipart Form And Encoding
>
>
> On Nov 2, 2009, at 12:04 PM, Paul Sandoz wrote:
>
> > Hi Jordi,
> >
> > I have verified there is a bug in the FormDataBodyPart.getValue
> > method. It is ignoring the charset parameter (if present) on the
> > media type.
> >
> > In fact this method is doing it's own string parsing when it should
> > be deferring to the string reader provided of the message body reader.
> >
>
> I fixed the above.
>
> So if your client is sending multipart/form content with the
> ISO-8859-1 charset declared appropriately in the Content-Type of
> relevant body parts it should work.
>
> If you are using Jersey's FormDataMultiPart on the client side you
> will have to do something like:
>
> new FormDataMultiPart().field("name", "value",
> MediaType.valueOf("text/plain;charset=ISO-8859-1"));
>
> otherwise if you use the "field" method with two String parameters
> then UTF-8 will be used to encode the String characters. And note that
> if the charset parameter is absent when decoding then UTF-8 will be
> used to decode to String characters.
>
> Paul.
>
> > Can you:
> >
> > 1) verify there is a charset parameter present on the Content-Type
> > of the body part identified as "name"; and
> >
> > 2) try doing the following and seeing if that works (which depends
> > on a charset parameter with a value of "ISO-8859-1" being present)
> >
> > multiPart.getField("name").getValueAs(String.class);
> >
> > Paul.
> >
> >
> >
> > On Nov 2, 2009, at 11:49 AM, Jordi Domingo wrote:
> >
> >> Hi,
> >>
> >> I've got some problems with char encoding using multipart API. I've
> >> been able to solve this in my pc using:
> >>
> >> String name = multiPart.getField("name").getValue();
> >> name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
> >>
> >> But in production it is not working. Chars like àáèéìí ... are
> >> shown like ??
> >>
> >> Any help is appreciated. Thanks,
> >>
> >> Jordi
> >>
> >> Entra al Nuevo Canal Motor y descubre por qué los coches más
> >> rápidos sólo aparcan en MSN. Nuevo diseño, más completo y abierto a
> >> tu opinión.¡Nuevo Canal Motor!
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> > For additional commands, e-mail: users-help_at_jersey.dev.java.net
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>
En tu material escolar no puede faltar el nuevo Pack de Emoticonos Vuelta al Cole ¡Descárgatelo gratis! Es muy divertido
_________________________________________________________________
Vive toda la experiencia de Messenger con Orange desde tu Blackberry ¡Descúbrelo!
http://serviciosmoviles.es.msn.com/messenger/blackberry.aspx
--_611764fe-fb90-4839-99f4-b8006cf63d6b_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
To be honest, I dont know where does it come from<br><br> Accept-Charset: <b>ISO-8859-1</b>,utf-8;q=0.7,*;q=0.7<br><br>My page is fully UTF-8<br><br>HTTP/1.1 200 OK<br>X-Powered-By: JSP/2.1<br>Server: GlassFish v3<br>Pragma: No-cache<br>Cache-Control: no-cache<br>Expires: Thu, 01 Jan 1970 01:00:00 CET<br><b>Content-Type: text/html;charset=UTF-8</b><br>Content-Language: ca<br>Date: Mon, 02 Nov 2009 14:21:42 GMT<br>Content-Length: 5753<br><br><br><!doctype html><br><html><br> <head><br> <b><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></b><br><br>....<br><form action="/projects/1/vulnerabilities/29/evidences/9/attachments" class="formulari" id="formulari" method="post" enctype="multipart/form-data" <b>accept-charset="UTF-8"</b>><br><br><br>I hate browsers :S<br><hr id="stopSpelling">Date: Mon, 2 Nov 2009 14:47:56 +0100<br>From: Paul.Sandoz@Sun.COM<br>To: users@jersey.dev.java.net<br>Subject: Re: [Jersey] Multipart Form And Encoding<br><br><br><div><div>On Nov 2, 2009, at 2:31 PM, Jordi Domingo wrote:</div><br class="ecxApple-interchange-newline"><blockquote><span class="ecxApple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div class="ecxhmmessage" style="font-size: 10pt; font-family: Verdana;">Hi Paul,<br><br>My clients are normal browser right now, how can i make them to declare the content-type for each part?<br></div></span></blockquote><div><br></div>I do not know. If the Content-Type is absent then it means a content type of "text/plain". But under those conditions (unless out of band information is utilized) one has to assume the content is encoded in UTF-8.</div><div><br></div><div>The only clue that ISO-8859-1 is utilized is the following in the logged output of the POST request:</div><div><br></div><div> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7</div><div><br></div><div>:-( </div><div><br></div><div>Paul.</div><div><br></div><div><blockquote><span class="ecxApple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div class="ecxhmmessage" style="font-size: 10pt; font-family: Verdana;"><br>Thanks,<br><br>JOrdi<br><br>> Date: Mon, 2 Nov 2009 13:40:38 +0100<br>> From:<span class="ecxApple-converted-space"> </span><a href="mailto:Paul.Sandoz@Sun.COM">Paul.Sandoz@Sun.COM</a><br>> To:<span class="ecxApple-converted-space"> </span><a href="mailto:users@jersey.dev.java.net">users@jersey.dev.java.net</a><br>> Subject: Re: [Jersey] Multipart Form And Encoding<br>><span class="ecxApple-converted-space"> </span><br>><span class="ecxApple-converted-space"> </span><br>> On Nov 2, 2009, at 12:04 PM, Paul Sandoz wrote:<br>><span class="ecxApple-converted-space"> </span><br>> > Hi Jordi,<br>> ><br>> > I have verified there is a bug in the FormDataBodyPart.getValue<span class="ecxApple-converted-space"> </span><br>> > method. It is ignoring the charset parameter (if present) on the<span class="ecxApple-converted-space"> </span><br>> > media type.<br>> ><br>> > In fact this method is doing it's own string parsing when it should<span class="ecxApple-converted-space"> </span><br>> > be deferring to the string reader provided of the message body reader.<br>> ><br>><span class="ecxApple-converted-space"> </span><br>> I fixed the above.<br>><span class="ecxApple-converted-space"> </span><br>> So if your client is sending multipart/form content with the<span class="ecxApple-converted-space"> </span><br>> ISO-8859-1 charset declared appropriately in the Content-Type of<span class="ecxApple-converted-space"> </span><br>> relevant body parts it should work.<br>><span class="ecxApple-converted-space"> </span><br>> If you are using Jersey's FormDataMultiPart on the client side you<span class="ecxApple-converted-space"> </span><br>> will have to do something like:<br>><span class="ecxApple-converted-space"> </span><br>> new FormDataMultiPart().field("name", "value",<span class="ecxApple-converted-space"> </span><br>> MediaType.valueOf("text/plain;charset=ISO-8859-1"));<br>><span class="ecxApple-converted-space"> </span><br>> otherwise if you use the "field" method with two String parameters<span class="ecxApple-converted-space"> </span><br>> then UTF-8 will be used to encode the String characters. And note that<span class="ecxApple-converted-space"> </span><br>> if the charset parameter is absent when decoding then UTF-8 will be<span class="ecxApple-converted-space"> </span><br>> used to decode to String characters.<br>><span class="ecxApple-converted-space"> </span><br>> Paul.<br>><span class="ecxApple-converted-space"> </span><br>> > Can you:<br>> ><br>> > 1) verify there is a charset parameter present on the Content-Type<span class="ecxApple-converted-space"> </span><br>> > of the body part identified as "name"; and<br>> ><br>> > 2) try doing the following and seeing if that works (which depends<span class="ecxApple-converted-space"> </span><br>> > on a charset parameter with a value of "ISO-8859-1" being present)<br>> ><br>> > multiPart.getField("name").getValueAs(String.class);<br>> ><br>> > Paul.<br>> ><br>> ><br>> ><br>> > On Nov 2, 2009, at 11:49 AM, Jordi Domingo wrote:<br>> ><br>> >> Hi,<br>> >><br>> >> I've got some problems with char encoding using multipart API. I've<span class="ecxApple-converted-space"> </span><br>> >> been able to solve this in my pc using:<br>> >><br>> >> String name = multiPart.getField("name").getValue();<br>> >> name = new String(name.getBytes("ISO-8859-1"), "UTF-8");<br>> >><br>> >> But in production it is not working. Chars like àáèéìí ... are<span class="ecxApple-converted-space"> </span><br>> >> shown like ??<br>> >><br>> >> Any help is appreciated. Thanks,<br>> >><br>> >> Jordi<br>> >><br>> >> Entra al Nuevo Canal Motor y descubre por qué los coches más<span class="ecxApple-converted-space"> </span><br>> >> rápidos sólo aparcan en MSN. Nuevo diseño, más completo y abierto a<span class="ecxApple-converted-space"> </span><br>> >> tu opinión.¡Nuevo Canal Motor!<br>> ><br>> ><br>> > ---------------------------------------------------------------------<br>> > To unsubscribe, e-mail:<span class="ecxApple-converted-space"> </span><a href="mailto:users-unsubscribe@jersey.dev.java.net">users-unsubscribe@jersey.dev.java.net</a><br>> > For additional commands, e-mail:<span class="ecxApple-converted-space"> </span><a href="mailto:users-help@jersey.dev.java.net">users-help@jersey.dev.java.net</a><br>> ><br>><span class="ecxApple-converted-space"> </span><br>><span class="ecxApple-converted-space"> </span><br>> ---------------------------------------------------------------------<br>> To unsubscribe, e-mail:<span class="ecxApple-converted-space"> </span><a href="mailto:users-unsubscribe@jersey.dev.java.net">users-unsubscribe@jersey.dev.java.net</a><br>> For additional commands, e-mail:<span class="ecxApple-converted-space"> </span><a href="mailto:users-help@jersey.dev.java.net">users-help@jersey.dev.java.net</a><br>><span class="ecxApple-converted-space"> </span><br><br><hr>En tu material escolar no puede faltar el nuevo Pack de Emoticonos Vuelta al Cole<span class="ecxApple-converted-space"> </span><a href="
http://www.vivelive.com/emoticonosvueltaalcole%20%20">¡Descárgatelo gratis! Es muy divertido</a></div></span></blockquote></div><br> <br /><hr />En tu material escolar no puede faltar el nuevo Pack de Emoticonos Vuelta al Cole <a href='
http://www.vivelive.com/emoticonosvueltaalcole ' target='_new'>¡Descárgatelo gratis! Es muy divertido</a></body>
</html>
--_611764fe-fb90-4839-99f4-b8006cf63d6b_--