1

愚かなコードでユニコード文字を含むマルチパートリクエストを送信しようとしました:

                    HttpClient httpClient = new DefaultHttpClient();
                    HttpPost postRequest = new HttpPost(ServerUrl);
                    MultipartEntity reqEntity = new MultipartEntity(
                            HttpMultipartMode.BROWSER_COMPATIBLE,null,Charset.forName(HTTP.UTF_8));
                    reqEntity.addPart("uploaded", new FileBody(image));

                    Charset chars = Charset.forName(HTTP.UTF_8); // Setting up the encoding

                    reqEntity.addPart("paramName",new StringBody(new String(UNICODESTRING.getBytes("UTF-8"),"UTF-8"),chars));

サーバー側のサーブレット コードは次のとおりです。

List<FileItem> formItems = upload.parseRequest(request);

            if (formItems != null && formItems.size() > 0) {
                // iterates over form's fields

                for (FileItem item : formItems) {
                     if (item.isFormField()) {
                        String fieldname = item.getFieldName();
                        String fieldvalue = item.getString();
                      if(fieldname.equals("paramName")){
                            System.out.println(">>>>>>>>>>>>> the branch name: "+new String(item.getString().getBytes("UTF-8"),"UTF-8"));
                            // then Save to DATABASE
                        }

println 行は、データベースにそのまま保存された ØªÙØªØªØ³ÙØªØªØ³ÙØªØ³ のような歪んだ文字を与えます!

誰でもその問題を解決するのを手伝ってもらえますか...

前もって感謝します 、

4

0 に答える 0