Convert Decimal NCRs Code into UTF-8 in java (JSP)
java, jsp, utf-8
Solution
I created a custom function which converts DecimalNCR to `String`.
public static String ConvertDecimalNCRToString(String hex)
{
String myString = hex.replace("&#", "");
String[] split = myString.split(";");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < split.length; i++)
{
sb.append((char)Integer.parseInt(split[i]));
}
return sb.toString();
}
This converts successfully your supplied `String`.
EDIT I tested the above function with Chinese `游鍚堃`,`你好你怎么样` and Farsi (`عتباري` , and `مرحبا كيف حالك`) character it provided correct results.
Problem
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 used `request.getParameter("faMSg")` to get the value and here i got `عتباري` but i should get `عتباري`