1

404応答エラーが発生するため、URLから「ö」などの英語以外の文字をエスケープするにはどうすればよいですか。私はJavaを使用しています。私を助けてください。

4

4 に答える 4

5

たとえば、RFC3986(http://tools.ietf.org/html/rfc3986)で指定されているURLエンコードを使用します。http://en.wikipedia.org/wiki/Percent-encodingもご覧ください。

Javaには、これを行うためのいくつかのメソッドが用意されています。

http://download.oracle.com/javase/1.4.2/docs/api/java/net/URLEncoder.html

ISO-8859-1 / 15、UTF-8などのさまざまなエンコーディングに注意してください。これに応じて、たとえば「ö」は%F6または&C3%D6(またはこのように)にエンコードされます。

于 2011-06-10T11:11:56.463 に答える
3

java.netパッケージのURLEncoder/URLDecoderを使用します

于 2011-06-10T11:10:27.103 に答える
3

java.net.URLEncoderを試してください

于 2011-06-10T11:10:44.607 に答える
2

同様の問題がありました。URLパスに「ü」がありました。さまざまなSO投稿を数時間試した後、私はこれを取得しました(ここから):

URL url = new URL(urlString);
URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());

url = new URL(uri.toASCIIString());

トリックはURIをURLに変換することです。ほとんどの回答はURI.toURL()メソッド呼び出しで終わりました。このメソッドは空白と非文字を正しくエンコードしますが、非ASCII文字はエンコードしません。メソッドURI.toASCIIString()は、その問題に対する答えです。

于 2012-04-12T13:44:12.733 に答える