request.getParameter()获取URL中文参数乱码的解决办法

时间:2022-05-05 23:42:30

这个问题耽误好长时间,URL传中文参数出现乱码,就算首次使用request接收就添加 request.setCharacterEncoding("UTf-8"); 依然报错不误。

百度以下解决办法,分享大家:

原因:Http请求传输时将url以ISO-8859-1编码,服务器收到字节流后默认会以ISO-8859-1编码来解码成字符流(造成中文乱码)

解决办法:我们需要把request.getParameter(“参数名”)获取到的字符串先用ISO-8859-1编码成字节流,然后再将其用utf-8解码成字符流

String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8");