表单提交中文乱码问题解决方法(get提交与post提交的区别)

 

一、get请求下的解决表单提交的中文乱码问题(此方法对post提交了适用)

二、post请求下的中文乱码问题(对get提交方式不管用)

三、respond解决乱码问题

四、get请求方式和post请求方式区别


一、get请求下的解决表单提交的中文乱码问题(此方法对post提交了适用)

1、先拿到乱码用ISO8859-1进行编码,获得原正确的二进制,再用utf-8解码一遍,就可以获得非乱码的中文。

代码实现如下:

        //先从表单数据中获得目标资源        
        String username = request.getParameter("username");
		//使用ISO8859-1对乱码进行编码生成原二进制
		byte[] bytes = username.getBytes("iso8859-1");
		//将原二进制还原成中文
		String newusername = new String(bytes, "utf-8");

二、post请求下的中文乱码问题(对get提交方式不管用)

代码实现:

            request.setCharacterEncoding("utf-8");

三、respond解决乱码问题

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

四、get请求方式和post请求方式区别

1、get方式

  • get提交的数据会放在url之后,以?分割url和传输数据,参数之间以&相连
  • get提交对数据大小有限制(因为浏览器对url长度有限制)
  • get方式提交数据会带来安全问题
  • 效率高

2、post方式

  • 把提交的数据放在HTTP包的body中
  • 对数据大小没有限制
  • post提交的数据相对安全
  • 效率相对没有get高
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值