【问题标题】:UTF-8 in Java Servlet doesn't work when deployed to Azure WebsitesJava Servlet 中的 UTF-8 在部署到 Azure 网站时不起作用
【发布时间】:2014-12-10 12:10:20
【问题描述】:

我遇到了字符编码问题。 考虑这个简单的 sn-p:

    @Override
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    req.setCharacterEncoding("UTF-8");
    resp.setCharacterEncoding("UTF-8");
    resp.getWriter().println(req.getParameter("test"));
    resp.getWriter().println(Charset.defaultCharset());
}

当我发出 http put 请求(使用 chrome 的邮递员应用程序)时,localhost Tomcat 上的一切都很好: 测试参数:żłąźć

结果:

żłąźć windows-1250

但是当我将此 servlet 部署到 azure 网站 tomcat 时,以下测试出错:

结果:

żÅÄÅºÄ windows-1252

我该如何解决?

【问题讨论】:

    标签: java tomcat servlets azure azure-web-app-service


    【解决方案1】:

    好的,我找到了。我需要更改 server.xml 文件(放置在 apache-tomcat-7.0.52/conf 中)并将 "URIEncoding="UTF-8" 添加到连接器:

        <Connector port="${port.http}" protocol="HTTP/1.1" address="127.0.0.1"
               connectionTimeout="20000"
               redirectPort="8443" 
               URIEncoding="UTF-8" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      相关资源
      最近更新 更多