如何在GWT中使用MultiUploader在服务器上传递正确的西里尔字母?

时间:2015-03-17 16:16:11

标签: gwt encoding multi-upload

我在GWT中使用MultiUploader,我在服务器上通过servlet路径传递userNumber。

MultiUploader muplDef = new MultiUploader();
muplDef.setServletPath(muplDef.getServletPath() + "?userNumber="
                + "ВАВАВАВАВ" + "&mode=" + "JPG"
                + "&hm=" + GWT.getPermutationStrongName());

我的userNumber包含西里尔字母“ВАВАВАВАВ”,在服务器上我收到了错误的userNumber:ÐÐÐÐÐÐÐÐÐÐ。

 @Override
    public String executeAction(HttpServletRequest request,
            List<FileItem> sessionFiles) throws UploadActionException {
        try {
            request.setCharacterEncoding("UTF-8");
            userNumber = request.getParameter("userNumber");
        } catch (UnsupportedEncodingException e1) {
            e1.printStackTrace();
        }
...

如何在GWT中使用MultiUploader在服务器上传递正确的userNumber?感谢。

修改 在我的本地tomcat一切都很好,但在服务器上我得到错误的userNumber。即使我写了request.setCharacterEncoding("UTF-8")我仍然不知道该怎么做(我需要帮助。

1 个答案:

答案 0 :(得分:2)

您需要对呼叫中的参数进行URL编码(全部或仅用户编号):

String param = URL.encode("?userNumber="
            + "ВАВАВАВАВ" + "&mode=" + "JPG"
            + "&hm=" + GWT.getPermutationStrongName());

muplDef.setServletPath(muplDef.getServletPath() + param);