我有简单的表单提交流程,请求在Servlet接收之前抛出过滤器。在我的doFilter方法中,第一行本身是使用 iso-8859-15 设置字符编码,如下所示
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException {
servletRequest.setCharacterEncoding("iso-8859-15"); //encoding setting
在我的请求对象中,我有一个名为“name”的参数,其值为“1Depósito”(即国际语言特殊字符)。执行 setCharacterEncoding 方法后,参数值将进行修改。参数值编码为“1Depósito”而不是“1Depósito”
在我的参数值中,我们有一个特殊字符“ó”(即ASCII代码243),因为它编码不正确但我相信 iso-8859-15 支持“ó”字符,那么为什么编码不正确?
在我的请求标题中,字符集显示为UTF-8
所以在我的过滤器中如果我将编码改为“UTF-8”从“iso-8859-15”那么它工作正常但我需要工作使用“iso-8859-15”只是因为相同的代码在我的其他tomcat构建中工作。
注意:
请确认“iso-8859-15”是否支持“ó”字符?如果是,那么为什么编码不起作用?
期待您的宝贵意见。
谢谢, BSK