JSP 乱码产生的方式三: get 方式提交


产生乱码原因: 同样是服务器端接收参数没有正确解码, 但比 post 方式复杂得多。无法使用 request.setCharacterEncoding 解决
根本原因: get 方式提交使用浏览器地址栏传送数据, 根据 URL 规范: 经过浏览地址栏方式传送数据的默认编码为 "ISO-8859-1", 亦是说: Servlet 将底层设备中的字节流数据按 ISO8859-1 转换成字符串返回. 我们得到的参数是经过 "ISO-8859-1" 所编码的
解决方法: 使用 new String( request.getParameter().getBytes("ISO-8859-1"),"utf-8") 读字符流并解码.

