`
文艺的程序猿
  • 浏览: 102734 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

js url传值中文乱码之解决之道

    博客分类:
  • jsp
 
阅读更多

 

	function exportBasicInfo(){
			var name=$("#username").val();
			var area=$("#area").val();
				layer.confirm('确定要导出基本信息吗?', {
					title:false,
				    btn: ['导出', '取消']
					}, function(index, layero){
			window.location.href="<%=basePath%>../exportBasicInfo.jsp?name="+encodeURI(encodeURI(name))+"&area="+encodeURI(encodeURI(area));
						layer.close(index);
					});
		};

 为什么网上会有人提出在客户端对字符串重复编码两次呢.

如果因为项目需要,不能指定容器使用何种编码规则来解码提交的参数, 比如:需要接收来自不同页面,不地编码的参数内容时。 (又或者是开发人员被这有点复杂的东东搞得晕头转向,不懂得如何正确的去做好这接收参数的工作)
这个时候,在客户端对参数进行二次编码,可以有效的避开提交多字节字符”的这个棘手问题。
因为第一次编码,你的参数内容便不带有多字节字符了,成了纯粹的 Ascii 字符串。(这里把编第一次的结果叫成 [STR_ENC1] 好了。[STR_ENC1] 是不带有多字节字符的)
再编一次后,提交,接收时容器自动解一次 (容器自动解的这一次,不管是按 GBK 还是 UTF-8 还是 ISO-8859-1 都好,都能够正确的得到 [STR_ENC1])
然后,再在程序中实现一次 decodeURIComponent (Java中通常使用 java.net.URLDecoder(***, "UTF-8")) 就可以得到想提交的参数的原值。

 

接收端:

	String area = request.getParameter("area");
	area = URLDecoder.decode(area,"UTF-8");
	String name = request.getParameter("name");
	name = URLDecoder.decode(name,"UTF-8");

 

所需包<%@page import="java.net.URLDecoder"%>

 

 

1
0
分享到:
评论

相关推荐

    Url传值乱码解决方案

    本文将深入探讨URL编码的原因、原理以及如何解决URL传值乱码的常见问题。 URL(统一资源定位符)是互联网上资源的唯一标识,它包含了协议、主机名、路径和查询参数等部分。由于URL中可能包含非ASCII字符或特殊字符...

    asp.net页面通过URL参数传值中文乱码问题解决办法

    在Asp.Net开发中,遇到页面通过URL参数传递中文字符时出现乱码是...以上就是解决Asp.Net页面通过URL参数传递中文乱码问题的详细方法,通过选择合适的方法或组合使用这些方法,可以确保中文字符在URL中正确无误地传递。

    js转换汉字通过URL传值避免乱码

    这是一个JS把汉字转换编码格式避免乱码的类,相当于ASP或是.NET中的UrlEncode方法.使用方法是var str = UrlEncode("这里是你要转换的汉字");这个方法有个缺点,不支持全角标点,所以要配合下面的方法把全角转换半角才...

    java 页面url传值中文乱码的解决方法

    Java 页面URL传值中文乱码问题通常出现在前端Ajax请求中,当URL参数包含中文字符时,服务器端通过`request.getParameter()`获取参数时,可能会出现乱码现象。这是因为HTTP协议默认使用ISO-8859-1编码,而中文字符...

    jsp传值中文乱码问题解决方法示例介绍

    本篇文章将详细介绍如何解决JSP中的中文乱码问题,并通过示例代码进行说明。 1. **设置请求编码**: 在处理HTTP请求时,JSP页面可以通过`request.setCharacterEncoding("UTF-8")`方法来指定请求的字符编码。这是...

    JS解决url传值出现中文乱码的另类办法

    总之,动态表单提供了一种有效解决URL中文乱码问题的策略,特别是在需要传递复杂或包含中文的参数时,这种方法显得尤为实用。在实际开发中,我们可以根据项目需求和具体情况选择最适合的解决方案。

    js传值后台中文出现乱码的解决方法

    总结来说,通过在前端进行正确的编码处理,并在后端通过正确的解码方法还原数据,我们能够有效地解决js传值后台中文乱码的问题。同时,熟练掌握JavaScript的各项操作技巧,对于提升Web开发的效率和质量也有着显著的...

    jquery的ajax()函数传值中文乱码解决方法介绍

    在使用jQuery的ajax()函数进行数据传输时,中文乱码问题常常困扰着开发者。这个问题主要出现在数据发送到服务器时,由于编码格式不一致导致的字符乱码。以下是一些解决此问题的方法: 方法一:使用`encodeURI()`...

    解决url中文乱码.doc

    ("因为js url在传值的过程中使用的是js自己默认的字符集编码规则,我们必须把它转成属于我们自己的编码规格","UTF-8")%&gt; ``` 这里使用UTF-8作为编码格式。 4. **接收参数**:在接收URL参数的页面,例如`Succ.jsp...

    jsp传值本地无乱码测试机出现乱码问题解决

    在讨论JSP(Java Server Pages)传值时,遇到的本地无乱码而测试机出现乱码的问题是一个典型的编码问题,常见于网络编程和Web开发中。以下是对标题、描述和部分内容所涉知识点的详细解析。 ### 知识点解析 #### ...

    Lotusscript代理获取url的传值及解码

    ### LotusScript 代理获取 URL 的传值及解码 #### 一、背景介绍 在 Domino 服务器的应用开发中,我们经常需要处理通过 AJAX 技术从前端提交到后端的数据。其中,一个常见的问题是中文字符的乱码问题,尤其是在 POST...

    JS传值出现中文参数乱码的解决方法

    以下是一些解决JS传值出现中文参数乱码的常用方法。 1. **使用`encodeURIComponent()`函数**: JavaScript的`encodeURIComponent()`函数可以对URL的一部分进行编码,它会将非字母数字字符转换为UTF-8序列,并用百...

    解决ajax乱码和页面传值问题

    如果数据包含中文或其他非ASCII字符,使用`encodeURIComponent()`函数进行URL编码,避免在传输过程中出现乱码。 ```javascript let data = { username: "张三", message: "你好,世界!" }; let encodedData = ...

    j2ee中文乱码问题终极解决之道

    尽管上述方法可以在一定程度上解决乱码问题,但最好的解决之道是建立一个完整的编码管理策略,涵盖应用的输入、输出以及中间处理的各个环节。在设计阶段就考虑到字符集的兼容性,避免在后期修复导致的复杂性。同时,...

    struts2中通过json传值解决乱码问题的实现方法

    本文将详细探讨如何在Struts2框架中通过JSON传值解决乱码问题的方法,涉及JavaScript编码和Java解码的相关操作技巧。 首先,我们来了解乱码产生的原因。在Web开发中,如果前端和后端没有对字符编码做统一的处理,就...

    domino xpages URL中文传值

    在 Domino XPages 开发中,有时我们需要通过 URL 传递参数,包括中文参数。然而,由于中文字符在 URL 中不被直接支持,因此需要进行编码处理。`dominoxpagesURL` 标签暗示了这是一个关于 Domino XPages 中 URL 参数...

Global site tag (gtag.js) - Google Analytics