jsp全是问号_JSP response,request中文乱码(出现问号)总结

JSP response,request中文乱码(出现问号)总结

java中request乱码是浏览器向服务器发送的请求参数中包含中文字符,服务器获取到的请求参数的值是乱码,response乱码是服务器向浏览器发送的数据包含中文字符,浏览器中显示的是乱码。其实产生中文乱码的原因就是客户端和服务器所使用的编码不同。

1. response中文乱码

服务器发给浏览器的数据默认是按照ISO-8859-1编码,浏览器接收到数据后按照默认的字符集进行解码后显示,如果浏览器的默认解码字符集不是ISO-8859-1,就出现乱码。解决方法如下:

a. 设置服务器端的编码

response.setCharacterEncoding('utf-8”);

b. 通知浏览器服务器发送的数据格式

response.setContentType('text/html;charset=utf-8”);

c. jsp页面通知浏览器展示的编码格式

只要服务端,发送端和浏览器端的编码一致就不会出现乱码,一般有中文的都用UTF-8或者GB2312编码。

2. request中文乱码

地址栏直接输入URL访问浏览器默认将参数按照utf-8进行编码;点击页面中的超链接访问和提交表单访问浏览器将参数按照当前页面的显示编码进行编码。

解决方法如下:

1. 不管是get请求还是post请求,将中文参数进行url编码,用URLEncoder.encode()进行编码传到后台

2. 设置pageEncoding=“utf-8”

3. 后台接收编码也用 utf-8

4. web.xml设置编码

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

encodingFilter

/*

当然在用Eclipse进行开发的时候,一定要优先设置jsp文件的编码,默认的不是utf-8编码,如果不修改会导致jsp文件中文乱码,修改步骤如下:

1. Eclipse-->windows->preference->General->Content Types-->右侧的Content Type中选中 Text->JSP 将默认编码改为"utf-8"

2. Eclipse-->windows->preference->General->Workspace-> Text file encoding 改为 “UTF-8”

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值