Javaでこれを変換する方法に1つの問題があります:
String word="Conformément";
に
これ:
String word = "Conform%C3%A9ment";
2 番目は、文字列が Web を介して渡されるときに変換されます。
前もってありがとう、ミハイル
あなたができる
String encodedWord = URLEncoder.encode(word, "UTF-8");
この他のスレッドURLEncoder.encode()
で提案されているように使用することをお勧めします。
この単語を URI のどの部分に挿入するかによって異なります。
最善の策は、URI テンプレートをサポートするライブラリを使用することです。そして(恥知らずなプラグ)私は動作するものを持っています.
テンプレートを作成して正しい値を入力するだけです。テンプレートの作成もお手伝いします。
いいえ、この仕事には適してURLEncoder.encode()
いません。そのプロジェクトの README を引用します。
この方法には非常によくある誤解があります。URI で使用するために文字列をエンコードするのではなく、POST データで使用するために文字列をエンコードします。つまり、application/x-www-form-urlencoded データ用です。このエンコーディングでは、スペースは %20 ではなく + になります。
クエリ部分に単語が表示されるテンプレートの例を次に示します。
http://my.site/some/where?word={word}
上記のライブラリを使用すると、コードは次のようになります。
final URITemplate tmpl = new URITemplate("http://my.site/some/where?word={word}");
final VariableMapBuilder builder = VariableMap.newBuilder();
builder.addScalarValue("word", "Conformément");
tmpl.toString(builder.freeze()); // returns the correct result
// Or:
tmpl.toURI(builder.freeze());
tmpl.toURL(builder.freeze());