​网页传值过程中文乱码怎么办?

您所在的位置:网站首页 前端页面乱码怎么回事 ​网页传值过程中文乱码怎么办?

​网页传值过程中文乱码怎么办?

2023-03-16 15:38| 来源: 网络整理| 查看: 265

​网页传值过程中文乱码怎么办?_惠州计算机Java培训

作者:邓华发布时间:2021-02-25分类:惠州计算机学校浏览:480

导读:​网页传值过程中文乱码怎么办?下面惠州北大青鸟学术部老师给大家分析一下这个问题。

网页传值过程中文乱码怎么办?下面惠州北大青鸟学术部老师给大家分析一下这个问题。

网页传值主要有两种情况:1、使用form表单传值    使用form表单传值主要有两种方式:get和post(即:method="get/post",默认是get方式)    1)解决使用post方式传递中文的乱码问题:        方法一:                在接收请求参数之前设置请求编码即可,request.setCharacterEncoding("编码");        示例:                方法二:        可以写一个Filter过滤该项目下的所有请求编码        web.xml文件                  charsetEncoding          com.lym.filter.CharsetEncodingFilter                        code              UTF-8                                  charsetEncoding          /*              CharsetEncodingFilter.java文件       public class CharsetEncodingFilter implements Filter {          private static String CODE = "UTF-8";//默认编码          public void destroy() {}          public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {              HttpServletRequest req = (HttpServletRequest)arg0;              HttpServletResponse resp = (HttpServletResponse)arg1;              req.setCharacterEncoding(CODE);              resp.setCharacterEncoding(CODE);              arg2.doFilter(arg0, arg1);         }         public void init(FilterConfig arg0) throws ServletException {             String code = arg0.getInitParameter("code");             if(!"".equals(code) && code!= null){                 CODE = code;             }        }     }         2)解决使用get方式传递中文的乱码问题:(两种方法)                方法一:            对接受到的请求参数进行转码,使用String name = new String(name.getBytes("默认编码"),"转换后的编码");                    方法二:            客户端用户提交数据之前,使用JS把用户要提交的中文值进行编码,然后再服务器端对接收到的值进行解码即可。            客户端编码:                                    function login(){                        var loginForm = document.forms["loginForm"];                        loginForm.name.value = encodeURI(loginForm.name.value);//对中文字符串进行编码                        return true;                    }                                            服务端解码:                                         注意:使用encodeURI对字符串进行一次编码,再提交表单时又对字符串进行了一次的编码,实际进行了两次编码。               在使用URLDecoder.decode()进行解码时,实际上是对字符串进行两次解码。             2、使用超链接的方式传值    使用JS对a标签的href属性值进行编码,在对a标签的href属性值编码时,要两次编码才能在服务端使用URLDecoder.decode()进行解码。    客户端编码:                    function a(){                var doc = document.getElementById("aa");                doc.href = "a-handler.jsp?info="+encodeURI(encodeURI("你好"));            }                使用超链接传送中文参数    服务端解码:        

想知道更多关于Java的资讯,联系在线客服,或者来惠州北大青鸟新方舟校区了解了解。

java5.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校

上一篇:Java中while与do…while语句有什么区别?_惠州计算机Java培训 下一篇:如何输入网站用户名找回密码?_惠州计算机Java培训


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3