没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
java中中form以以post、、get方式提交数据中文乱码问题总结方式提交数据中文乱码问题总结
主要介绍了java中form以post、get方式提交数据中文乱码问题总结,需要的朋友可以参考下
一:一:form在前台以在前台以post方式提交数据:方式提交数据:
浏览器将数据(假设为“中国”)发送给服务器的时候,将数据变成0101的二进制数据(假设为98 99)时必然要查码表,浏览
器以哪个码表打开网页,浏览器就以哪个码表提交数据。数据到达服务器后,数据(98 99)要封装到request中,在servlet中
调用Request的getParameter方法返回的是字符串(“中国”),方法内部拿到数字后要转成字符,一定要查码表,由于request
的设计者是外国人,所以默认查的是他们常用的ISO8859-1,这就是请求数据产生乱码的根源。
复制代码 代码如下:
package com.yyz.request;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//以post方式提交表单
public class RequestDemo extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//请求数据的中文乱码问题
request.setCharacterEncoding("UTF-8");//客户端网页我们控制为UTF-8
String username = request.getParameter("username");
//获取数据正常,输出数据时可以查阅不同码表
response.setCharacterEncoding("gb2312");//通知服务器发送数据时查阅的码表
response.setContentType("text/html;charset=gb2312");//通知浏览器以何种码表打开
PrintWriter out = response.getWriter();
out.write(username);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
二:二:form在前台以在前台以get方式提交数据:方式提交数据:
get方式提交的数据依然是浏览器用什么码表打开就用什么码表发送。不同的是,以get方式提交数据时,request设置编码无
效。即使设置了UTF-8还是会去查ISO8859-1。得到(? ?),要解决这个问题,需要拿着(??)反向查ISO8859-1,拿到
(98 99)后,再去查正确码表。
复制代码 代码如下:
package com.yyz.request;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//以get方式提交表单
public class RequestDemo extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//请求数据的中文乱码问题
request.setCharacterEncoding("UTF-8");//以get方式提交数据时,request设置编码无效。即使设置了UTF-8还是会去查
ISO8859-1
String username = request.getParameter("username");
System.out.println(username);
资源评论
weixin_38594252
- 粉丝: 7
- 资源: 920
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功