各种中文乱码

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

原文地址:https://www.cnblogs.com/liuqu/p/8569442.html