• 乱码解决方法


    如果用户是以get的方式进行请求数据是,那么,
     String s = req.getParameter("username");
    String news =
    new
    String(s.getBytes("iso8859-1"
    ), "utf-8");
    System.out.println(news);
    可以解决乱码问题
    如果用户是以post的方式进行请求数据时,那么,
     req.setCharacterEncoding("utf-8");// 只对post有效 即可
    如果想对post的也有效那么,在tomcat服务器下面添加        useBodyEncodingForURI="true"
     
    /**
         * @param req
         * @return 
         * @throws UnsupportedEncodingException
         * 想对get解决中文乱码,并且不重启服务器的方法
         * 只有当提交方式为get时方法可以起到作用
         */

        private String getEncode(HttpServletRequest req)
                throws UnsupportedEncodingException {
            /**
             * 如果想对get解决中文乱码,并且不重启服务器的方法
             * */

            String s = req.getParameter("username");
            String news = new String(s.getBytes("iso8859-1"), "utf-8");
            System.out.println(news);
            /**只有当提交方式为get时上面的方法可以起到作用*/
            return s;
        }
        要想让request.setCharacterEncoding("UTF-8")既支持get提交方式请求  也支持post提交方式请求
                则需要在tomcat/conf/server.xml文件中修改某个元素
                    即<Connector port="80" protocol="HTTP/1.1"
                           connectionTimeout="20000"
                           redirectPort="8443" />
                           加上一个属性useBodyEncodingForURI="true"
                       使其变为
                           <Connector port="80" protocol="HTTP/1.1"
                               connectionTimeout="20000"
                               redirectPort="8443" useBodyEncodingForURI="true"/>




  • 相关阅读:
    MySQL的B+树索引底层构成
    Mybatis 使用注解和Provider类实现动态条件查询
    EF批量插入数据耗时对比
    NOPI Excel 读取公式生成后的数据
    EF 记录执行的sql语句
    c# Redis操作类
    c# ExpandoObject动态扩展对象
    微信小程序干货
    mysql中将多行数据合并成一行数据
    Flask 学习系列(四)---Jinjia2 模板继承
  • 原文地址:https://www.cnblogs.com/babyhhcsy/p/2980438.html
Copyright © 2020-2023  润新知