Java 将非英语字符的数据传递到web服务器
从html中,我使用非英语字符的数据访问控制器。 (例如)通过多重测试章url中的字节作为post请求 但在控制器中,数据作为 多字节Java 将非英语字符的数据传递到web服务器,java,jsp,tomcat,Java,Jsp,Tomcat,从html中,我使用非英语字符的数据访问控制器。 (例如)通过多重测试章url中的字节作为post请求 但在控制器中,数据作为 多字节 有人能帮我解决这个问题吗?你可以在行动方法中使用这个 request.setCharacterEncoding("UTF-8"); 必须在任何请求之前调用此函数。getParameter()调用 只需根据需要更改编码即可 你也可以参考这个 首先,您需要告诉浏览器您正在提供UTF-8内容,并期待UTF-8提交。您可以通过将行放在JSP的最顶端 <%@pa
有人能帮我解决这个问题吗?你可以在行动方法中使用这个
request.setCharacterEncoding("UTF-8");
必须在任何请求之前调用此函数。getParameter()
调用
只需根据需要更改编码即可
你也可以参考这个
首先,您需要告诉浏览器您正在提供UTF-8内容,并期待UTF-8提交。您可以通过将行放在JSP的最顶端
<%@page pageEncoding="UTF-8" %>
然后,您需要告诉servlet API使用UTF-8解析POST请求参数。您可以通过创建一个基本上执行以下操作的
@WebFilter("/*")
public class CharacterEncodingFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
req.setCharacterEncoding("UTF-8");
chain.doFilter(req, res);
}
// ...
}
就这些。您不需要而不需要
(这在使用MSIE浏览器时会使事情变得更糟),您不需要而一定需要
(这仅在从本地磁盘文件系统而不是通过HTTP提供页面时才会解释)
请注意,当您使用System.out.println()
或记录器来验证提交的值时,还应将其配置为使用UTF-8来显示字符,否则您将被误导,因为您仍然会看到
另见:
request.getParameter()读取?是的,它是使用request.getParameter()作为POST和read传递的