Request请求乱码问题
作者:互联网
Request请求参数方法有俩种:doGet , doPost.
在这俩种方法中会出现中文乱码问题,列如:
在我输出中文信息时,控制台打印出乱码
然而解决方法很简单,在doPOST中加入:request.setCharacterEncoding("UTF-8");
但这只能使用在dopPOST方法中。
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//解中文乱码
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
System.out.println(username);
}
再次启动tomcat后,输入中文再去看控制台
发现已经解决了乱码问题
但是doGet的方法中不同,tomca中使用的是ISO-8859-1是不可更改的
所有必须要先对其编码(转为字节数组)再进行解码
此方法也可使用在POST中
//1.编码 转为字节数组
byte[] bytes = username.getBytes(StandardCharsets.ISO_8859_1);
//2.解码
username = new String(bytes,StandardCharsets.UTF_8);
不过在tomca8之后已经把ISO-8859-1默认改为UTF-8;
标签:username,UTF,请求,Request,request,乱码,ISO,doGet 来源: https://blog.csdn.net/LXZ_1024/article/details/123417323