2013-11-09 51 views
1

我目前有2個不同的jsp頁面,其中都調用java應用程序。目前只有其中一個字符編碼效果很好。AJAX調用Java字符編碼

網頁A的作用:

$.ajax({ 
    url: _root + myPage, 
    data: myData, 
    success: mySuccessHandler, 
    error: myErrorHandler}); 

網頁B則:

$.post(_root + page, data, successHandler).error(errorHandler); 

裏面我正在使用此代碼的Java應用程序中,有2個獨立的功能,但唯一的不同是參數名稱A使用「answerdata」,B使用「data」:

request.setCharacterEncoding("UTF-8"); 
JSONObject data = new JSONObject(URLDecoder.decode(request.getParameter("answerdata"), "UTF-8")); 

這兩個jsp頁面都有數據封裝一個表單中:

<form id="answerdata" accept-charset="UTF-8" onsubmit="return false;"> 

兩者也有這樣的:

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 

而且只有一個頁面,它不工作了,但是刪除此沒有任何效果:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> 

我已經通過計算器上的某些頁面,而只是說我的網頁之一工作的答案至今是

request.setCharacterEncoding("UTF-8") 

但是,這只是工作的網頁B

回答

0

我能夠用解決它:

JSONObject data = new JSONObject(new String(request.getParameter("answerdata").getBytes(), "UTF-8"));