我遇到了字符编码问题。 考虑一下这个简单的片段:
@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上的一切都很好: 测试参数:żłąźć
结果:
żłąźć 窗口-1250
但是当我将这个servlet部署到azure网站tomcat时,以下测试出错了:
结果:
żÅÄÅºÄ 窗口1252
我该如何解决?
答案 0 :(得分:0)
好的,我找到了。我需要更改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" />