在使用get提交,url传递参数的时候,会带来中文乱码的问题,对此可以使用js编码来解决。
Js编码的几种方式区别:
1.window.escape()与HttpUtility.UrlEncodeUnicode()编码格式一样:将一个汉字编码为%uxxxx格式
不会被window.escape编码的字符有:@ _ - . * / + 这与http://www.w3school.com.cn/js/jsref_escape.asp上的解释不符合
2.window.encodeURIComponent()与HttpUtility.UrlEncode()编码格式一样:将一个汉字编码为%xx%xx%xx的格式
不会被window.encodeURIComponent编码的字符有:' ( ) * - . _ ! ~ 这与http://www.w3school.com.cn/js/jsref_encodeURIComponent.asp解释相符合
不会被HttpUtility.UrlEncode编码的字符有:' ( ) * - . _ ! 相比较而言,HttpUtility.UrlEncode比window.encodeURIComponent多一个 ~ 编码
3.不会被window.encodeURI编码的字符有: - _ . ! * ( ) ; / ? : @ & = $ , #,与encodeURIComponent对比,发现encodeURI不对:;/?:@&=+$,#这些用于分隔 URI 组件的标点符号进行编码
后台java解码:
name = java.net.URLDecoder.decode(name,"UTF-8");//需处理异常
正常的操作下来发现还是有乱码问题!
因为在对后台java程序里的searchtext赋值的时候,本身已经使用了一次解码,不过解码的结果依然不对.
解决办法:可以在页面上进行两次编码操作,这样后台自动的那次就可以抵消掉一次,然后在使用
name = java.net.URLDecoder.decode(name,"UTF-8");//需处理异常
代码如下:
JavaScript: window.self.location="searchbytext.action?searchtext="+encodeURIComponent(encodeURIComponent(seartext)); java: searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");/*需要处理异常*/ 另外还有一种方法是JavaScript进行一次编码,后台java处理时换种想法就好了: java代码: String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");
相关推荐
js 中乱码处理法方式 encodeURIComponent(encodeURIComponent(customerAddress)) decodeURIComponent(customerName) js到java encodeURI(url) String qijuType= new String(request.getParameter( (...
前后台用js传参过程中,如果是中文就容易出现乱码,所以最好是先编码。
jsp页面传参乱码的解决方法 jsp页面js: encodeURIComponent要使用两次encodeURIComponent... 您可能感兴趣的文章:javascript通过url向jsp页面传递中文参数导致乱码解决方案jsp地址栏传中文显示乱码解决方法分享
从A页面通过url传参到B页面时,解析url参数可以用下面两种方法: 方法一:正则分析法 代码如下: function getQueryString(name) { var reg = new RegExp(“(^|&)” + name + “=([^&]*)(&|$)”, “i”); var r = ...
1、在JS里对中文参数进行两次转码 代码如下: var login_name = document.getElementById(“loginname”).value; login_name = encodeURI(login_name); login_name = encodeURI(login_name); 2、在服务器端对...
20.4解决数据库乱码问题 第3篇 高级应用 PHP网络开发(教学录像:42分33秒) 21.1电子邮件的原理 21.2系统的配置需求(SMTP和POP3服务器安装配置) 21.3应用PHP发送和接收电子邮件 PHP与XML技术(教学录像:31分17秒...
20.4解决数据库乱码问题 第3篇 高级应用 PHP网络开发(教学录像:42分33秒) 21.1电子邮件的原理 21.2系统的配置需求(SMTP和POP3服务器安装配置) 21.3应用PHP发送和接收电子邮件 PHP与XML技术(教学录像:31分17秒...
4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术发送和接收中文信息 4.7.5 实例:在请求消息头和响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第一个...
4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术发送和接收中文信息 4.7.5 实例:在请求消息头和响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第...