2011-10-25 16 views

答えて

0

ユニコード値を取得するには、このコードを参考にしてください。

IF(request.getCharacterEncoding()== NULL)
request.setCharacterEncoding( "UTF-8");

詳細については、これを参照してください。
Click Here

0

HttpServletRequest#getQueryString()は、URLエンコードされたクエリ文字列を返します。むしろgetParameter(),getParameterValues()またはgetParameterMap()のメソッドを使用して、それぞれ単一のパラメータ、複数のパラメータ、またはパラメータマップ全体を取得することをお勧めします。これらのメソッドを使用すると、コンテナは自動的にになりますあなたのためのパラメータ名と値をURLでデコードします。 JSP内では、これらの値はそれぞれ${param.name},${paramValues.name}および${pageContext.request.parameterMap}で利用可能です。

あなた本当には、あなたは、それぞれ、最終的には個々のパラメータと名前=値の部分を取得するために&=上でそれらを分割する必要があり、いくつかの非自明な理由のために自分自身を構文解析して主張し、生のクエリ文字列をいじる場合はURL - 各パートを自分でデコードします。分割はString#split()で行い、URLデコードはURLDecoder#decode()で行うことができます。

ここでキックオフの例です:

String charset = request.getCharacterEncoding(); 
if (charset == null) charset = "UTF-8"; 
String queryString = request.getQueryString(); 

for (String parameter : queryString.split("&")) { 
    String[] parts = parameter.split("="); 
    String name = URLDecoder.decode(parts[0], charset); 
    String value = URLDecoder.decode(parts[1], charset); 
    // ... 
} 

デフォルトの文字セットは、少なくともあなたがHTTPレスポンスを返すために使用されてきたように同じでなければなりません。たとえば、JSPの場合は、pageEncodingで指定したのと同じになります。

<%@page pageEncoding="UTF-8" %> 
関連する問題