3

最近、私は新しいプロジェクトに取り組んでおりUTF-8、必須です。なぜこれに直面しているのかはわかりませんが、私にとっては本当に奇妙です。知っていることはすべて実際に試しましたが、問題は残ります。

JSON 文字列をサーブレットに送信していますが、サーブレットの部分は次のとおりです。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html; charset=UTF-8");
    response.setCharacterEncoding("UTF-8");
    request.setCharacterEncoding("UTF-8");
    if (action.equals("startProcess")) {
        final String data = request.getParameter("mainData");
        URLDecoder.decode(data, "UTF-8");

        System.out.println("DATA \n" + URLDecoder.decode(data, "UTF-8"));
        JSONObject jsonObj = new JSONObject();
        try {


            JSONArray jsonArr = new JSONArray(URLDecoder.decode(data, "UTF-8"));
            jsonObj.put("data", jsonArr);
            JSONArray array = jsonObj.getJSONArray("data");
            System.out.println("insertDtls \n" + jsonObj.toString());

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


    }
}

リターンSystem.out.println("insertDtls \n" + jsonObj.toString());:

この結果:DATA [{"department":"1"},{"stampType":"кÑÑÐ³Ð»Ð°Ñ Ð¿ÐµÑаÑÑ"},{"headCompany":"да"},{"stampReason":"1"},{"textToPrint":"asd"},{"comments":"da"},{"other":"дÑÑгой"}]

ここで何をすべきか本当にわかりません。本当に小さなものが欠けていると確信していますが、それを見つけることはできません。この文字列を二重にエンコードすることは可能ですか?

4

2 に答える 2

-2

-Dfile.encoding=UTF-8 パラメータを指定して Java プロセスを実行してみてください。

于 2013-08-22T12:52:14.037 に答える