网页传值过程中文乱码怎么办? |
您所在的位置:网站首页 › 前端页面乱码怎么回事 › 网页传值过程中文乱码怎么办? |
网页传值过程中文乱码怎么办?_惠州计算机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的资讯,联系在线客服,或者来惠州北大青鸟新方舟校区了解了解。 Java 标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校 上一篇:Java中while与do…while语句有什么区别?_惠州计算机Java培训 下一篇:如何输入网站用户名找回密码?_惠州计算机Java培训 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |