一个jsp form表单,后台用springMvc request.getparameter("")接收参数,经校验,中文,日文等都不会出现乱码问题,唯独阿拉伯语出现乱码,为什么
比如: القرص \ سحابة التخزين \الرعب \ الاباحية1
jsp的Ajax请求:para2为阿拉伯语;para1 为日语
$.ajax( {
type : "POST",
url : basePath+"test2015/knockoutjs201502.jhtml?para0='張三'¶1=ディスク¶2=الاباحية",
async: false, //false为同步请求,默认为异
dataType : "JSON",
success : function(result) {
self.dynamicArray(true);
self.staticArray(false);
self.count(result.count);
self.allDatas($.parseJSON(result.data));//转为json格式
}
});
springMvc方法,同样的实现方式,中午和日文不会乱码,阿拉伯语会
@RequestMapping(value = "/knockoutjs201502")
@ResponseBody
public String knockoutJs(HttpServletRequest request,
HttpServletResponse response) {
String para0 = request.getParameter("para0");
try {
para0 = new String(request.getParameter("para0").getBytes("ISO-8859-1"), "UTF-8");//还原成原始字符串
}catch (Exception e) {
e.printStackTrace();
}
String para1 = request.getParameter("para1");
try {
para1 = new String(request.getParameter("para1").getBytes("ISO-8859-1"), "UTF-8");//还原成原始字符串
}catch (Exception e) {
e.printStackTrace();
}
String para2 = request.getParameter("para2");
try {
para2 = new String(request.getParameter("para2").getBytes("ISO-8859-1"), "UTF-8");//还原成原始字符串
}catch (Exception e) {
e.printStackTrace();
}
JsonArray data = new JsonArray();
JsonObject jsonObject = null;
for (int i = 0; i < 4; i++) {
jsonObject = new JsonObject();
jsonObject.addProperty("name", "张三" + i);
jsonObject.addProperty("age", 20 + i);
jsonObject.addProperty("addTime", new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss:SSS").format(new Date()));
data.add(jsonObject);
}
JsonObject jsonData = new JsonObject();
jsonData.addProperty("count", data.size());
jsonData.addProperty("data", data.toString());
return jsonData.toString();
}