2016-04-05 5 views
-1

私のサーブレットにエンコードの問題があります。WebLogicでクエリパラメータをデコードするための文字セットを設定する

私はこのように私のサーブレットを呼び出す:

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

%d6Öのためにエンコードされた値です。

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> 

はどのようrequest.getParameterのエンコードISO-8859-1を使用するようにWebLogicを設定するには?あなたのweblogic.xml

答えて

3

は、次のことを試してください。

ある
<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を使用しています。

+0

同じ問題があって、この回答がそれを釘付けにしました。興味深いことに、[weblogic-application.xml](http://docs.oracle.com/middleware/1213/wls/)の ''で ''を 'ISO8859_1'に設定するだけで十分です。 WLPRG/app_xml.htm#r6c1-t2)が動作せず、 ' 'を' false'に設定することさえできませんでした。なぜか何かヒント? –

関連する問題