配置用于在 WebLogic 中解码查询参数的字符集

Configuring charset for decoding query parameters in WebLogic

我的 servlet 中存在编码问题。

我这样调用我的 servlet:

http://myserver.com/myapp/myservlet?p=%d6

%d6Ö 的编码值。

在我的 servlet 中,我执行以下操作:

public void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws IOException, ServletException {

    String s = request.getCharacterEncoding();  // Returns null

    //request.setCharacterEncoding("ISO-8859-1"); // If I uncomment this line, p will be Ö.
    String p = request.getParameter("p"); // Returns ý

    ...

我想通过配置而不是代码来设置字符编码。

我在weblogic.xml中尝试了以下方法,但在这种情况下没有效果:

<charset-params>
    <input-charset>
        <resource-path>*</resource-path>
        <java-charset-name>ISO-8859-1</java-charset-name>
    </input-charset>
</charset-params>

如何配置 WebLogic 以对 request.getParameter 使用编码 ISO-8859-1

在您的 weblogic.xml 中,尝试以下操作:

<charset-params>
    <input-charset>
        <resource-path>/*</resource-path>
        <java-charset-name>ISO8859_1</java-charset-name>
    </input-charset>
</charset-params>

即使用ISO8859_1代替ISO-8859-1