2017-11-23 14 views
0

ないすべての文字列にのみ、特定のUTF-8文字をエンコードすると仮定私はURLを持ってのURLEncoder

文字列のURL = "http://myweb.com/page1?param1=Financiële resultaten & PARAM2 =消費者"

私はURLEncode.encode(URL、にしたいです"UTF-8")この文字列。私はスペースとアンパサンド(&)をそのまま(ëとù)をそのままにしてコード化したい。最終的なURLは、Javaでこれを達成するためにどのように

http://myweb.com/page1?param1=Financiële%20resultaten%27param2=consùmer

すべきですか?

答えて

0

まず、URIEncodeをクエリパラメータのエンコードに使用する必要があることに注意してください。だからあなたがエンコードするのは「?」の後です。キャラクター。

もう1つの問題は、実際にはクエリ全体をエンコードしたくないということです。そのため、特定の文字に対してエンコードする方法はありません。次に、あなたの質問は「いくつかの文字を他の文字で置き換えるにはどうすればいいですか?」というようなものに変換することができます。したがって、変更する文字にreplaceAllメソッドを使用するか、文字を別々にエンコードしてからマージする必要がある場合は、indexOfメソッドを使用することができます。そして、文字列は "?ページ1のparam1 =Financiële%20resultaten & PARAM2 =消費者" になり

String query = "page1?param1=Financiële resultaten&param2=consùmer"; 
query.replaceAll("\\s+","%20"); 

:でReplaceAllメソッドを使用して起動する

の方法は、のようなものです。

関連する問題