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

How to pass the right cyrillic letters on server using MultiUploader in GWT?

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

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

我的用户号码包含西里尔字母“ВАВАВАВАВ”,但在服务器上我得到了错误的用户号码:ÐÐÐÐÐÐÐ成为。

 @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 上一切正常,但在服务器上我得到了错误的用户号。即使我写了 request.setCharacterEncoding("UTF-8") 我仍然不知道该怎么做(我需要帮助。

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

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

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