![](/img/trans.png)
[英]Is URLEncoder.encode(string, “UTF-8”) a poor validation?
[英]URLEncoder to encode only certain UTF-8 characters not all in a string
假設我有一個網址
字符串url =“ http://myweb.com/page1?param1=Financiëleresultaten&param2 =consùmer”
我想要URLEncode.encode(url,“ UTF-8”)這個字符串。 我只想對空格和&符(&)進行編碼,以保持(ë和ù)完好無損。 因此最終網址應為
http://myweb.com/page1?param1=Financiële%20resultaten%27param2=consùmer
如何在Java中實現呢?
首先,請記住,僅應使用URIEncode
編碼查詢參數。 所以您要編碼的是“?”之后 字符。
這個問題的另一個問題是,您實際上並不想對整個查詢進行編碼。 因此,沒有任何方法可以對某些特定字符進行編碼。 然后,您的問題可以轉換為“如何用某些其他字符替換某些字符”之類的內容。 因此,您可能要對要更改的字符使用replaceAll
方法,或者如果要單獨編碼字符,則應該使用indexOf
方法,然后應該合並。
開始使用replaceAll方法的方法類似於:
String query = "page1?param1=Financiële resultaten¶m2=consùmer";
query.replaceAll("\\s+","%20");
然后,該字符串變為“ page1?param1 =Financiële%20resultaten&param2 =consùmer”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.