2016-04-05 17 views
-1

Servletlerimde kodlama sorunum var.WebLogic'te sorgu parametrelerini çözmek için karakter kümesini yapılandırma

Bu gibi benim Servlet'dir çağırır:

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

%d6Ö için kodlanmış bir değerdir. Benim servlet'dir

ben aşağıdakileri yapın:

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 ý 

    ... 

Ben yapılandırma yoluyla karakter kodlamasını ayarlamak istediğiniz değil koduyla.

ben weblogic.xml aşağıdaki denedi, ama bu durumda hiçbir etkisi vardı: WebLogic request.getParameter için kodlamayı ISO-8859-1 kullanacak biçimde yapılandırmak nasıl

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

? senin weblogic.xml yılında

cevap

3

, aşağıdakileri deneyin:

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

, ISO8859_1 yerine ISO-8859-1 kullanın.

+0

Aynı problem vardı ve bu cevap çivilenmişti. [Weblogic-application.xml] 'de içinde '' 'ISO8859_1' 'e kadar meraklı bir ayar (http://docs.oracle.com/middleware/1213/wls/ WLPRG/app_xml.htm # r6c1-t2) '' 'false' değerine ayarlanmış olsa bile çalışmadı. Herhangi bir ipucu neden? –

İlgili konular