一、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高