web应用,服务器是Tomcat,怎么解决请求中的乱码问题?

本文介绍了解决HTTP请求中出现的中文乱码问题的方法,包括POST请求、GET请求及通用解决方案,并针对不同浏览器提供了特定编码转换技巧。

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

1、POST请求:request.setCharacterEncoding("UTF-8");
2、GET请求:修改server.xml文件,在Connector标签中添加URIEncoding="UTF-8"
3、万能方式,get和post都适用:
byte[] bytes = username.getBytes("ISO-8859-1");
username = new String(bytes,"UTF-8");

注:字符集不一定是UTF-8,主要看浏览器采用哪一种编码方式。


                resp.setContentType("application/octet-stream;charset=UTF-8");

String browser=req.getHeader("User-Agent");
String filename=URLEncoder.encode("市场活动列表", "UTF-8");
if(browser.toLowerCase().contains("firefox")){//Firefox FireFox  Firefox
filename=new String("市场活动列表".getBytes("UTF-8"),"ISO8859-1");
}
resp.addHeader("Content-Disposition", "attachment;filename="+filename+".xls");
//获取输出流
OutputStream os2=resp.getOutputStream();
/*InputStream is=new FileInputStream("d:/poi/activity.xls");
byte[] buff=new byte[256];
int len;
while((len=is.read(buff))!=-1){
os2.write(buff, 0, len);
}*/

wb.write(os2);
os2.flush();
//is.close();
wb.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值