10 个解决方案
#1
String n = request.getParameter("name");
String name = new String(n.getBytes("iso-8859-1"),"utf-8");
String name = new String(n.getBytes("iso-8859-1"),"utf-8");
#2
这样也不行
#3
在接收参数时要先进行编码在进行获取
处理 Request 接收参数的中文乱码问题
POST请求的解决方案:
GET请求的解决方案
使用String的构造方法:
Response响应中文乱码的处理
处理 Request 接收参数的中文乱码问题
POST请求的解决方案:
request.setCharacterEncoding(“UTF-8”); --- 一定要在接收参数之前设置编码就OK.
GET请求的解决方案
使用String的构造方法:
String n = request.getParameter("name");
String name = new String(n.getBytes("iso-8859-1"),"utf-8");
Response响应中文乱码的处理
response.setContentType("text/html;charset=UTF-8");
#4
写一个filter
#5
用base64试试
#6
得看你的参数是get、还是post传,如果是get,那么参数是在url中的,需要通过js来处理,如果是post,通过上面说的设置request编码即可。
#7
#8
先看看你的页面编码是什么,如果编码和后台匹配就检查一下你的乱码类型。基本的解决方式楼上都提到了应该是能解决你的问题的。
#9
tomcat的配置文件server.xml里面 加一下 URIEncoding='utf-8'
<Connector port="8080" protocol="HTTP/1.1" URIEncoding='utf-8'
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8080" protocol="HTTP/1.1" URIEncoding='utf-8'
connectionTimeout="20000"
redirectPort="8443" />
#10
三楼的办法很好啊,你可以按照以下方法逐个实验:
1、在接受参数之前,加上request.setCharacterEncoding(“UTF-8”);
2、对接收的参数进行重新编码:String name = new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");
3、响应也设置编码:response.setContentType("text/html;charset=UTF-8");
4、如果还是不行,你可以用浏览器调试一下:浏览器空白处右键--->检查---->选择Network---->再在页面上提交一次表单,观察提交的数据是否乱码,如果还有乱码那说明不是后台接收的乱码,可能是你浏览器编码设置的。你先在你的jsp页面代码中检查下,是否添加了编码,然后检查下你的浏览器,或者换个浏览器试试
1、在接受参数之前,加上request.setCharacterEncoding(“UTF-8”);
2、对接收的参数进行重新编码:String name = new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");
3、响应也设置编码:response.setContentType("text/html;charset=UTF-8");
4、如果还是不行,你可以用浏览器调试一下:浏览器空白处右键--->检查---->选择Network---->再在页面上提交一次表单,观察提交的数据是否乱码,如果还有乱码那说明不是后台接收的乱码,可能是你浏览器编码设置的。你先在你的jsp页面代码中检查下,是否添加了编码,然后检查下你的浏览器,或者换个浏览器试试
#1
String n = request.getParameter("name");
String name = new String(n.getBytes("iso-8859-1"),"utf-8");
String name = new String(n.getBytes("iso-8859-1"),"utf-8");
#2
这样也不行
#3
在接收参数时要先进行编码在进行获取
处理 Request 接收参数的中文乱码问题
POST请求的解决方案:
GET请求的解决方案
使用String的构造方法:
Response响应中文乱码的处理
处理 Request 接收参数的中文乱码问题
POST请求的解决方案:
request.setCharacterEncoding(“UTF-8”); --- 一定要在接收参数之前设置编码就OK.
GET请求的解决方案
使用String的构造方法:
String n = request.getParameter("name");
String name = new String(n.getBytes("iso-8859-1"),"utf-8");
Response响应中文乱码的处理
response.setContentType("text/html;charset=UTF-8");
#4
写一个filter
#5
用base64试试
#6
得看你的参数是get、还是post传,如果是get,那么参数是在url中的,需要通过js来处理,如果是post,通过上面说的设置request编码即可。
#7
#8
先看看你的页面编码是什么,如果编码和后台匹配就检查一下你的乱码类型。基本的解决方式楼上都提到了应该是能解决你的问题的。
#9
tomcat的配置文件server.xml里面 加一下 URIEncoding='utf-8'
<Connector port="8080" protocol="HTTP/1.1" URIEncoding='utf-8'
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8080" protocol="HTTP/1.1" URIEncoding='utf-8'
connectionTimeout="20000"
redirectPort="8443" />
#10
三楼的办法很好啊,你可以按照以下方法逐个实验:
1、在接受参数之前,加上request.setCharacterEncoding(“UTF-8”);
2、对接收的参数进行重新编码:String name = new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");
3、响应也设置编码:response.setContentType("text/html;charset=UTF-8");
4、如果还是不行,你可以用浏览器调试一下:浏览器空白处右键--->检查---->选择Network---->再在页面上提交一次表单,观察提交的数据是否乱码,如果还有乱码那说明不是后台接收的乱码,可能是你浏览器编码设置的。你先在你的jsp页面代码中检查下,是否添加了编码,然后检查下你的浏览器,或者换个浏览器试试
1、在接受参数之前,加上request.setCharacterEncoding(“UTF-8”);
2、对接收的参数进行重新编码:String name = new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");
3、响应也设置编码:response.setContentType("text/html;charset=UTF-8");
4、如果还是不行,你可以用浏览器调试一下:浏览器空白处右键--->检查---->选择Network---->再在页面上提交一次表单,观察提交的数据是否乱码,如果还有乱码那说明不是后台接收的乱码,可能是你浏览器编码设置的。你先在你的jsp页面代码中检查下,是否添加了编码,然后检查下你的浏览器,或者换个浏览器试试