javaweb乱码问题【集合】

请求乱码问题
1.POST请求乱码问题,使用post请求提交数据(如表单数据),在服务器端获取中文乱码。


Tomcat10之后,request请求体当中的字符集默认就是UTF-8,不需要设置字符集,不会出现乱码问题。
Tomcat9前(包括9在内),如果前端请求体提交的是中文,后端获取请求体之后出现乱码,怎么解决这个乱码?执行以下代码。
// 设置请求体的字符集
// POST请求是在请求体中提交数据,因此以下方法是针对POST请求的乱码问题
request.setCharacterEncoding("UTF-8");

以上方法必须在request.getParameter(String key);方法获取request中的数据之前设置字符集,否则还是会乱码。

2.GET请求乱码
// get请求发送的时候,数据是在请求行(就是网址)上提交的,不是在请求体当中提交的。
// get请求后,后端获取后到的数据乱码怎么解决?

// 方案:修改CATALINA_HOME/conf/server.xml配置文件
// 设置URI(网址)的字符集为UTF-8,这样Tomcat服务器就会用UTF-8解码(原本是tomcat是GBK),跟浏览器的编码方式一致.
<Connector URIEncoding="UTF-8" />
// 注意:从Tomcat8之后,URIEncoding的默认值就是UTF-8,所以GET请求也没有乱码问题了。

 

 

 

响应乱码问题

 // 响应乱码问题(服务器给浏览器发送数据乱码)
// 在Tomcat9之前(包括9),响应中文也是有乱码的,怎么解决这个响应的乱码?
response.setContentType("text/html;charset=UTF-8");
// 在Tomcat10之后,包括10在内,响应中文的时候就不在出现乱码问题了。以上代码就不需要设置UTF-8了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

躺着听Jay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值