I was trying to decode string which in FARSI to UTF-8 but then i checked browser itself convert FARSI string into Decimal NCRs Code
How i can convert Decimal NCRs Code into UTF-8 ??
String farMsg = "عتباري";
String finalMsg = new String(farMsg.getBytes(),"UTF-8");
System.out.println("\n Farsi Message \n" + finalMsg);
when i am trying convert using above code it is working fine
but if i am using same string from an input box of JSP
page its is giving me some output like this
عتباري
What modification do I need to do for converting into same.
EDIT
I entered
عتباري
in the jsp input box and in usedrequest.getParameter("faMSg")
to get the value and here i gotعتباري
but i should getعتباري
You should try setting content type to
utf-8
in jsp page :OR
UTF-8 is not default content type in jsp, and there are all sorts of interesting problems that arise from this.
Browsers will use the encoding of the page.So if you use
UTF-8
in all your pages, then most browsers will send all data inUTF-8
encoding as well.If your are reading textbox value in Servlet than You can tell your application server to treat any input as UTF-8, by calling,
before reading value on server side.
EDIT :
To apply this setting globally so that you don't need to edit every individual JSP, you can also add the following entry to your /WEB-INF/web.xml file:
I created a custom function which converts DecimalNCR to
String
.This converts successfully your supplied
String
.EDIT I tested the above function with Chinese
游鍚堃
,你好你怎么样
and Farsi (عتباري
, andمرحبا كيف حالك
) character it provided correct results.This is work fine - white space is the problem that I solved