今天主要学习了中文乱码的解决问题 ,例如 GET 请求的参数是出现在 URL 中的 QueryString 部分的,URL 中如果含有中文等非 ASCII 字符,则浏览器会对它们进行 URLEncode,然后发送给服务器,在通过 request.getParameter("name") 取出时又会对该 name 对应的参数进行 URLDecode。通常在进行 URLEncode 的时候采用的编码为 UTF-8,而在 URLDecode 的时候会采用 Tomcat 服务器的默认编码 ISO-8859-1,编码和解码所采用的编码方式不一致,所以出现乱码。既然通过 request.getParameter("name") 得到了一个采用 ISO-8859-1 进行 URLDecode 的乱码,那么我们可以对该乱码通过 ISO-8859-1 进行 URLEncode,此时的值就是浏览器最初提交到后台的通过 UTF-8 URLEncode 后的数据。然后我们通过与浏览器一致的 UTF-8 编码对该数据进行解码。两端编码一致,乱码问题就得到了解决。 |
|