1,返回的数据,其他正常,但有 % 主要原因是% 在URL中是特殊字符,需要特殊转义一下
方法1 String str = URLDecoder.decode(字符串, "返回的数据编码") 或
方法2 使用%25替换字符串中的%号 url = url.replaceAll("%(?![0-9a-fA-F]{2})", "%25");
String urlStr = URLDecoder.decode(url, "UTF-8");
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
第一阶段:将jsp编译成Servlet(.java)文件。用到的指令是pageEncoding,根据pageEncoding=“XXX”的指示,找到编码的规则为“XXX”,服务器在将JSP文件编译成.java文件
第二阶段:从Servlet文件(.java)到Java字节码文件(.class),从UTF-8到UTF-8这一过程是由JVM的内在规范决定的,不受外界控制
第三阶段:从服务器到浏览器,由contentType属性中的charset来指定,将UTF8形式的二进制码以charset的编码形式来输出.如果没有人为设定,则默认的是ISO-8859-1