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

    xiaoxiao2023-11-05  132

     

    一、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高
    最新回复(0)