request.setCharacterEncoding("UTF-8");

本文探讨了在JSP应用中遇到的乱码问题,并详细记录了解决过程。通过调整字符编码设置,尤其是在请求参数处理时采用特定方法,最终解决了数据库读取时的乱码现象。

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

今天在写一个jsp的简单功能,出现一个问题,我从页面提交了数据之后,到了数据库,之后就是乱码,读取出来不管用什么 编码也是乱码,用老师的方法,配置encoding过滤器后还是乱码,在servlet中:
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");

这样似乎也没有用,自己的页面的编码也设置成了utf-8
@ page language="java" pageEncoding="UTF-8"
@ page language="java" pageEncoding="UTF-8"

在网上找了很久,都没有找到资料:

无意中看到一句话,不知道可信不可信:
就是我们在用 request.getParameter()来获取的数据一般是iso-8859-1编码的,如果直接用req.setCharacterEncoding("utf-8")是不行的,需要把获取到的编码,用iso-8859-1获得它得bytes[]字节数组,再用String用utf-8编码成字符串

user.setEducation(new String(req.getParameter("education").getBytes("iso-8859-1"),"utf-8"));

转载于:https://www.cnblogs.com/tianlai/p/4928308.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值