• servlet中文乱码处理


    在Servlet项目中发生中文乱码的几种情况
    (1)表单form
    • post:在接收的servlet,写上
       request.setCharacterEncoding("utf-8");

           原因是:浏览器设置为了utf-8,但是传到web服务器变为了iso-8859-1,所以传到对于的servlet去的时候会产生乱码。

    • get: 我的没问题
           原因是它是通过请求行传递参数过去的,不是在请求体中
    (2)超链接<a href="/encoding/GetInfoServlet?username=你好吗">测试</a>
             超链接默认是get,也没问题
    (3)html页面乱码(常见):
        
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    (4)sendRedict()发生乱码:

       //这个方法用于转编码,防止乱码。有时候需要把utf-8改为gb2312
    
       public static String getNewString(String str){
    
           String newString="";
    
           try {
    
            newString=new String(str.getBytes("iso-8859-1"),"utf-8");
    
        } catch (UnsupportedEncodingException e) {
    
            e.printStackTrace();
    
        }
    
           return newString;
    
       }
     (5)想要下载时,文件名不要乱码
     String temp=java.net.URLEncoder.encode("传奇.mp3","utf-8")
    
     response.setHeader("Content-Disposition","attachment;filename="+temp)
  • 相关阅读:
    1.28
    1.27
    1.26
    如果给你以下功能怎么测试
    测试面试题
    对h5页面的测试方式
    完美解决linux下Django报错Error: That port is already in use.
    KeyError:使用Python的Appium中的“ touchAction” 错误码
    Appium自动化测试
    selenium IDE使用
  • 原文地址:https://www.cnblogs.com/sunnyCx/p/7544004.html
Copyright © 2020-2023  润新知