I post this mail yestoday,no one response,so I repost here hope get help.
Hi,all:
This's a strange question stuff me up.I set form-encoding to utf-8 in web.xml for
display and submit.I can use this code to get the correct string in Chinese,the form
encoding is utf-8:
userName = new String(request.getParameter(nameField).getBytes("ISO-8859-1"));
But in the same time I use an activex control to upload file,the control is to
generate an html form and submit ,it's form encoding is ISO-8859-1,here comes the
problem.
code:
Part part = (Part) request.get(this.fileField);
String tmp = part.getFileName();
String fileName = new String(tmp.getBytes("ISO-8859-1"));
the Chinese fileName becomes something like ???????????????????.pdf.
I try to solve it:
1.If I change form-encoding back to default,the fileName is ok,but my other
application using utf-8 encoding is wrong
2.I use SetCharacterEncodingAction like:
<map:act type="formencoding">
<map:parameter name="form-encoding" value="ISO-8859-1" />
</map:act>
... upload thing
but it doesn't work ,though I print the request.getCharacterEncoding() and see
"ISO-8859-1",I believe the fileupload is still using the default form-encoding utf-8.
How can I solve this problem?
Roy Huang