It's not a secret anymore!
The moose likes Servlets and the fly likes struts with character encoding problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "struts with character encoding problem" Watch "struts with character encoding problem" New topic

struts with character encoding problem

poorjava poorjava

Joined: Oct 13, 2003
Posts: 2
I have a struts <html:text> field and I would like to allow user to input Chinese Characters. I am using UTF-8.
When pressing the submit button, it will write to the Oracle DB and get it back at once and display back to the struts textfield. However what I get back is some strange symbols. Even though I have set
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> and
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %> in jsp page and request.setCharacterEncoding("UTF-8"); in struts action. It still didn't work. (As I heard that request.setCharcterEncoding() will set all request data to the specific charset, but I am now using form beans to get and set data rather than request.getParamter() ). So anyone can give me some suggestions?
I know that it works when I use new String(value.getByte("ISO-8859_1"), "UTF-8") , but I can't use it in every string as there will be 60 fields in that page. It will be very troublesome to set every field to UTF-8. Is there any method that I can set all the data to UTF-8 in the simplest way? Thx a lot.
(SunOne appserver 7.0)
(JSP, struts, EJB)
(Oracle - with NLS setting to UTF-8)
Mark Spritzler

Joined: Feb 05, 2001
Posts: 17276

Welcome to the JavaRanch! Please adjust your displayed name to meet the
JavaRanch Naming Policy.
You can change it
Thanks! and welcome to the JavaRanch!

Perfect World Programming, LLC - iOS Apps
How to Ask Questions the Smart Way FAQ
David O'Meara

Joined: Mar 06, 2001
Posts: 13459

"poorjava poorjava",
Thanks for changing your display name, but it is still not valid. As you can probably guess we take this rule quite seriously.
Your display name must be two words: your first name, a space, then your last name. Fictitious names are not allowed. Please change it to your real name or a close copy since accounts with invalid display names get deleted.
I agree. Here's the link:
subject: struts with character encoding problem
jQuery in Action, 3rd edition