JavaWeb中的乱码解决方法总结

JavaWeb中的乱码解决方法总结

  • get请求提交中文(参数放在url中)

    原因:服务器获取解析url的时候不知道编码规则

    修改Tomcat服务器的安装路径下的conf目录下的配置文件server.xml

    image-20210915142336339

    解决办法:

    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>
    

    另一种解决办法是用代码来实现:

    // 获取请求参数
    String username = req.getParameter("username");//1 先以iso8859-1 进行 编 码
    //2 再以utf-8 进行解码
    username = new String(username.getBytes("iso-8859-1"), "UTF-8");
    
  • post请求提交中文(参数放在请求体中)

    原因:服务器不知道收到的文字的编码方式

    解决办法:

    request.setCharacterEncoding("utf-8")
    
  • 响应response.getWriter.write(“中文”)

    原因:浏览器不知道write写入的字符类型

    第一种解决办法(推荐):

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

    第二种:

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

    第三种:

    response.addHeader("Content-Type", "text/html;charset=utf-8");
    


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部