HttpServletRequest取值中文参数乱码问题

本文介绍了解决HTTP请求中中文参数乱码的问题。针对POST和GET提交方式,提供了具体的编码转换方法,并解释了如何确保前后端编码一致,以避免乱码现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HttpServletRequest取值中文参数乱码问题

可以获取从前台传递过来的参数

1、提交方式为post,后台获取值

String userName = request.getParameter("userName");

若出现乱码,则是前台和后台的编码格式不一致引起的,一般前台JSP都是采用UTF-8的编码格式,故后台获取值时需加上编码格式

     request.setCharacterEncoding("UTF-8");
     String userName = request.getParameter("userName");

2、提交方式为get,request对象是以默认的ISO8859-1编码接收数据

    String userName = new String(request.getParameter("userName").getBytes("ISO-8859-1"),"UTF-8");

获取request对象以ISO8859-1字符编码接收到的原始数据的字节数组,然后通过字节数组以指定的编码构建字符串,解决乱码问题

3、用地址传递参数时中文参数的乱码,解决方法和get提交法式一样。

    String userName = request.getParameter("userName");
    userName =new String(userName.getBytes("ISO8859-1"), "UTF-8");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值