最新公告
  • 欢迎您光临立业阁,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • java几种乱码问题解决方法_Java教程


    几种java乱码情况解决方法:

    1、在Servlet中获得通过get方式传递到服务器的数据时出现乱码;

     public class RegistServlet extends HttpServlet{
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            String name = req.getParameter("userName");
            byte[] bytes = name.getBytes("ISO8859-1");
            String newName = new String(bytes,"UTF-8");
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            doGet(req, resp);
        }
    }

    解析:在doGet方法中定义一个name变量获得封装在服务器的客户端数据userName,然后将name以“ISO8859-1”的方式赋值给字节数组bytes,最后将此bytes数组以UTF-8的方式赋值给一个新创建的String变量newName,此时newName就是能正常显示的数据,之所以这么麻烦,是因为没有直接的办法一行代码解决,可以就当此方法为固定用法。

    2、在Servlet中获得通过post方式传递到服务器的数据时出现乱码;

    public class RegistServlet extends HttpServlet{
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            //注意:post方式提交数据的乱码解决方式,放在getParameXXX方法之前
            req.setCharacterEncoding("UTF-8");
            //得到前台input框中name="username"和password="password"的value值
            String username = req.getParameter("username");
            String password = req.getParameter("password");
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            doGet(req, resp);
        }
    }

    解析:post传递方式下解决乱码问题很简单,就req.setCharacterEncoding(“UTF-8”); 这一行代码,但需注意,要将这句话放在获取数据之前。

    3、Servlet通过服务器将数据响应到客户端时出现乱码;

    public class RegistServlet extends HttpServlet{
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            //方式一:
            resp.setContentType("text/html;charset=utf-8");
            //方式二:
            resp.setHeader("Content-type", "text/html");
            resp.setCharacterEncoding("UTF-8");
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            doGet(req, resp);
        }
    }

    解析:注意,以上两种方法在应用时要写在输出方法之前,另外,两种方式效果一样,因为方式一较简洁,常用方式一。

    4、HTML或JSP页面在客户端展示时出现的乱码情况。

    <head>
            <meta charset="UTF-8">
            <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
            <title>form表单</title>
    </head>

    更多java知识请关注java基础教程栏目。

    以上就是java几种乱码问题解决方法的详细内容,更多请关注liyege.cn其它相关文章!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 1188会员总数(位)
    • 111862资源总数(个)
    • 6本周发布(个)
    • 2 今日发布(个)
    • 248稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    冀ICP备19022365号-1 百度地图

    [email protected]

    立业阁(www.liyege.cn)免费提供wordpress主题模板、dedecms模板、帝国cms模板、小说网站源码、电影网站源码以及网络技术分享,建站源码,小说模板,电影模板,网赚教程,VPS推荐