0

たとえば、次の文字列があります。

<Url class="class">http://www.ccc.com/Files/thumbnails/Gone Dark.jpg</Url>

URL タグ内のすべてのスペースを %20 に置き換えたい

<Url class="class">http://www.ccc.com/Files/thumbnails/Gone%20Dark.jpg</Url>

のスペースが変更されて<Url class="class">いる間、 のスペースはそのままであることに注意してください。Gone Dark.jpgGone%20Dark.jpg

編集:値はSQLデータベースにあります。それらを適切にエンコードする必要があります。これにREPLACE(path, strPtrn, strDst)は十分に強力ではありません(またはそう思います)。

4

4 に答える 4

1

URLEncoder クラスの他のメソッドを使用する必要があります: URLEncoder.encode(String, String)。最初のパラメーターは、エンコードする文字列です。2 番目は、使用する文字エンコーディングの名前です (例: "UTF-8")。

また

あなたはこのようなことを試してみるべきです

String url = "http://example.com/query?q=" + URLEncoder.encode("random word £500 bank $", "ISO-8859-1"); // Or "UTF-8".
于 2013-07-02T08:55:56.040 に答える
0

Java を使用している場合はURLEncoder.encode()、データベースに保存する前にメソッドを使用して URL をエンコードできます。そうすれば、スペースと特殊文字もそれに応じて処理されます。

于 2013-07-02T08:53:59.667 に答える
0

これは変数を使用しないものですテーブル内のすべてのレコードを一度に処理できます

SELECT 
    LEFT(url,CHARINDEX('>',url))+
    REPLACE(SUBSTRING(url,
                      CHARINDEX('>',url)+1,
                      CHARINDEX('</',url)-CHARINDEX('>',url)-1),
            ' ', '%20') +
    RIGHT(url,LEN(url) - CHARINDEX('</',url) + 1)
  FROM t1

SQLフィドル

于 2013-07-02T09:43:43.237 に答える