ISO-8859-15字符集在Weblogic中应用不正确,但在Tomcat中不正确

问题描述 投票:0回答:1

我有一个简单的表单提交请求。在请求接收到Servlet之前,它正在通过过滤器。在该过滤器中,我将字符集编码设置为“ iso-8859-15”,因为此字符集编码导致请求参数值未正确编码。

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
            FilterChain chain) throws IOException {
        servletRequest.setCharacterEncoding("iso-8859-15");

例如,我的参数值为“ 1Depósito”,并且编码错误地编码为“ 1Depósito”,而不是“ 1Depósito”。因为我的请求参数值中有一些国际语言特殊字符(即“ó”)。

根据我的Google研究,输入请求编码为UTF-8,但在过滤器中,我们设置了不同的编码,即iso-8859-15,因此可能编码不正确。但是,只有在WebLogic 10中运行时,才能看到此问题。当它在Spring-boot嵌入式Tomcat中运行时,相同的代码运行良好]

NOTE:

  1. 如果我在过滤器中将字符编码设置为UTF-8,即使在WebLogic中也可以正常工作,但是想知道“ iso-8859-15”编码在Tomcat中如何工作,而在Weblogic中却没有?] >
  2. 在WebLogic和Tomcat中,输入请求的内容类型如下所示:

    • Content-Type:应用程序/ x-www-form-urlencoded; charset = UTF-8
  3. 然后为什么setCharacterEncoding仅在WebLogic中而不在Tomcat中失败?

  4. 我们对Spring-boot嵌入式Tomcat服务器有任何默认编码设置吗?

    如何在我的WebLogic部署中解决此问题?

期待您的宝贵意见。

谢谢,BSK

我有一个简单的表单提交请求。在请求接收到Servlet之前,它正在通过过滤器。在该过滤器中,由于此字符集,我将字符集编码设置为“ iso-8859-15” ...

java spring-boot encoding weblogic servlet-filters
1个回答
0
投票

迟到总比不到好。

但是这个问题我们只能在WebLogic 10中运行时才能看到。相同的代码在spring-boot嵌入式Tomcat中运行时可以正常运行

© www.soinside.com 2019 - 2024. All rights reserved.