JAVAWeb中请求Request,Response,cookie的中文乱码处理

本文详细介绍了JAVAWeb中处理Request和Response中文乱码的方法。针对POST和GET提交方式的乱码问题,提供了request.setCharacterEncoding('UTF-8')及URL编码解码等解决方案,并对Response输出中文进行了设置charset的说明。

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

JAVAWeb中请求Request和Response的中文乱码处理


Request参数接收中的乱码处理.

POST方式提交乱码处理:

* <form method=post>的时候,这种提交才是POST提交.其他的都是get.

* POST方式提交的参数在请求体中.request对象在后台接收参数.request对象有缓存区.默认缓冲区的编码ISO-8859-1.

* 处理方式:设置request的缓冲区的编码.

        * request.setCharacterEncoding(UTF-8)    //只需要设置一次

GET方式提交乱码处理:

* GET方式提交的参数会在地址栏上显示 在请求行的路径后面.浏览器就会对路径进行一次编码.将编码后内容取出来.再进行一次编码.

* 处理方式:

     * 修改服务器提交的编码.

     * 采用URLEncoder URLDecoder类对中文进行编码和解码.

     * 使用String类的构造方法:

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

         System.out.println(username);




Response处理响应中文乱码:
方式1:★
response.setContentType("text/html;charset=utf-8");

                               或者 response.setCharacterEncoding("utf-8");
方式2:理解
response.setHeader("content-type", "text/html;charset=utf-8");




另外再提醒一下cookie的乱码处理:

存放时:

     Cookie c = new Cookie("name",URLEncoder.encode("你好","utf-8"));

取值时:

    URLDecoder.decode(request.getCookies()[i].getValue(),"utf-8");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值