I have a JSP page which accepts Arabic characters and submits to another JSP, which has to display these submitted values. In both the JSPs I have set the content type to (character encoding) Cp1256. In the Submitted page I have to do the following conversion to get my submitted data back correctly.

String sName = request.getParameter("name");
byte[] b = sName.getBytes("Cp1252");
String sActualName = new String(b, "Cp1256");

Only sActualName will display properly.

My question is, eventhough I have changed the System property file.encoding to Cp1256, to get the actual bytes back, I still have to specify my encoding as Cp1252 (ISO Latin 1).

What is happening inside the web server. I am using Weblogic 5.1 with SP4.