request和response编码
response:默认使用iso-8859-1编码对消息体进行编码,传送数据给客户端。
****响应头固定使用iso-8859-1编码;
服务器设置编码使用:setCharacterEncoding("uft-8");
告知浏览器解码格式:setheader("content-type","text/html;charset=utf-8");由于浏览器和服务器都按固定的格式去编码解码头部信息,所以,头部可以附加消息体的编码方式。
两者可以简化为:setcontentType("text/html;charset=utf-8")
*****response中响应头中的参数,浏览器默认使用gbk解码。上述方式无效
例如:response.addHeader("Content-Disposition", "attachment;filename="filename");
filename需要转码成gbk编码。 byte[] b = filename.getBytes("gbk2313");
filename = new string(b,'iso-8859-1');
request:在地址栏中直接传参数默认使用UTF-8
其它方式提交数据,默认使用当前面页使用的编码格式。
*****请求的解码由服务器完成,一定要注意服务器的解码方式与客户端请求编码方式一致。
服务器指定编码解码:
服务器对于post方式,可以使用request.setCharacterEncording("utf-8")方式指定解码方式为utf-8
对于get方式,浏览器固定使用iso-8859-1方式编码,服务器只能使用编码解码。new String(request.getparam("name").getBytes("iso-8859-1"),"utf-8")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?