public static String Utf8URLencode(String text) {

//text.replace("\n", "%20");

//text.replace("\t", "%0a");

//text.replace(" ", "%0d");

StringBuffer result = new StringBuffer();

for (int i = 0; i < text.length(); i++) {

char c = text.charAt(i); // 遍历每个字符

if (c >= 0 && c <= 255 && c != 13 && c != 10 && c != 32) { // 若为英文 //空格 回车 换行 get请求时单独编码

result.append(c); // 直接拼接

} else { // 若为 中文

byte[] b = new byte[0];

try {

b = Character.toString(c).getBytes("UTF-8");

} catch (Exception ex) {

Log.e("EncodeTools", ex.toString());

}

for (int j = 0; j < b.length; j++) {

int k = b[j];

if (k < 0)

k += 256;

if(c==10||c==13){

result.append("%"+"0"

+ Integer.toHexString(k).toUpperCase(

Locale.getDefault()));

}else{

result.append("%"

+ Integer.toHexString(k).toUpperCase(

Locale.getDefault()));

}

}

}

}

return result.toString();

}