`

Java 解码与js编码

 
阅读更多
java 页面url传值中文编码&解码
URL参数中有中文值,传到服务端,在用request.getParameter()方法,得到的常常会是乱码。

这将涉及到字符解码操作,我们在应用中常常会用new String(fieldType.getBytes("iso-8859-1"), "UTF-8");等类似的方法去解码。但这种方式受具体应用环境限制,往往在应用部署环境发生改变时,还会出现中文乱码。

在这里介绍一种解决方法,可以在任何应用部署环境下通用。此方法分两步:

1、在客户端用escape(encodeURIComponent(fieldValue))方法编码,例如:

title=escape(encodeURIComponent(title)); //这是js里的函数

url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;

2、在服务端用java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8"),进行解码。



-----------------------------------------------------------------------------

parent.window.location.href 和 iframe中src的乱码问题。

要在这两个url地址中传中文,必须加编码,然后再解码。

编码:encodeURI(encodeURI("包含中文的串"))

解码:java.net.URLDecoder.decode("需要解码的串","utf-8");



encodeURI方法是正确的,只是需要使用两次encodeURI方法,例如encodeURI(encodeURI("中文"));第一次是把中文编码成%xy的格式,第二次是对%xy中的%进行编码,%编码成%25。整个传参过程大体应该是:提交页面使用encodeURI(encodeURI("中文"))编码,把最后的编码结果%25xy传递给处理页面的过程中,浏览器获取URL地址(注意openModelDialog方法,浏览器获取不到参数编码)后解码成%xy,然后把%xy传递给处理页面,处理页面使用URLDecoder.decode(request.getParameter("参数名"),"UTF-8");完成解码。
总结:
1、汉字出现在URL路径部分的时候不需要编码解码;
2、使用encodeURI进行2次编码;
3、在openModelDialog()打开的模式窗体里没办法用request.getParameter正确获取参数;


分享到:
评论

相关推荐

    java和js相互base64编码解码

    在Java和JavaScript中,Base64编码和解码是两个重要的功能,用于处理这种编码格式。下面将详细阐述这两个编程语言中实现Base64编码和解码的方法。 首先,让我们关注Java。在Java 8及更高版本中,已经内置了`java....

    js解码 、java编码

    在IT行业中,编码和解码是数据处理的重要环节,特别是在JavaScript和Java这两种广泛使用的编程语言中。本文将深入探讨“js解码”和“java编码”这两个主题,并结合标签“源码”和“工具”,讨论如何在实际项目中应用...

    java解码与js转码

    java解码与js转码用于解决乱码问题.很好用的哦。不错的选择

    json数据base64编码压缩+解压解码(java以及js)

    java端:返回类型非字符接口调用StringUtils#base64AndCompressJson进行编码压缩 ,返回类型为字符接口调用StringUtils#base64Andcompress js 端:引入压缩包中的js文件 ,调用deBase64AndUncompress进行解压解码

    jother编码解码工具

    "jother编码解码工具"是一个专门用于JavaScript环境中的工具,它能够帮助开发者实现文字到标点符号的转换,这对于某些特定的文本处理任务,如信息加密、数据分析或者用户界面的特殊展示,可能是非常有用的。...

    encodeURIComponent编码后java后台的解码

    同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题。 原来他是这样写的: window.self.location="searchbytext.action?searchtext="+encodeURIComponent(seartext);

    JS端与java(android)端3DES加密解密和Base64编码解码文件

    总结来说,JS端与Java(Android)端3DES加密解密和Base64编码解码是确保数据安全传输的关键步骤。通过使用像CryptoJS和jsencrypt.js这样的库,开发者可以在客户端和服务器之间建立安全的数据通道,保护用户的隐私和...

    3des加密解密base64编码解码完全与ASP.NET,JAVA,兼容的js

    本资源提供的是一套完整的JavaScript实现,能够与ASP.NET和JAVA平台的3DES加密解密及Base64编码解码功能保持兼容。 首先,3DES的工作原理是在DES的基础上增加了一次加密过程,即使用同一个密钥进行三次加密,这大大...

    Quoted-printable 编码介绍、Quoted-printable编码解码转换方法

    如果字节值13与10有其他含义,它们必须QP编码为=0D与=0A。 5. Quoted-printable编码的数据每行长度不得超过76个字符。为了满足这一要求同时不改变被编码的文本,QP编码结果的每行末尾需要加上软换行符...

    JavaScript、JavaWeb对汉字等的编码与解码处理

    JavaScript、JavaWeb对汉字等的编码与解码处理 JavaScript和JavaWeb对汉字编码的策略是非常重要的,特别是在Web开发中,编码和解码的正确处理对于确保数据的正确传输和显示至关重要。在本资源中,我们将详细介绍...

    jsurl传值java页面url传值中文编码&amp;amp;amp;解码共2页

    本主题将深入探讨“jsurl传值”与“java页面url传值中文编码&解码”的相关知识点。 首先,我们要了解URL编码。URL编码是根据RFC3986标准,对URL中的特殊字符进行转换,以避免与URL语法产生冲突。在JavaScript中,...

    Delphi Base64编码,javascript解码汉字乱码解决方法演示程序(源代码)

    Delphi进行Base64编码后,如果使用javascript解码,会出现如下问题: 1. 汉字乱码 2. 空格变成 + 号 本资源演示Delphi代码,实现javascript能正确进行Base64解码,不出现上述2个问题。 解决思路:进行Base64前先...

    UrlEncodeDecode解码编码工具(双向)

    在编程语言中,如JavaScript、Python、Java等,都有内置的函数来实现UrlEncode和UrlDecode的操作,但这些函数通常只适用于单一语言环境。而独立的工具则提供了跨平台、跨语言的解决方案,无论你使用何种技术栈,都...

    Android-js-htmlencode是一款可以实现HTML编码和解码的JavaScript工具类

    在Android应用中,你可能需要将这些JavaScript函数与Java代码结合使用。这可以通过使用WebView组件并利用其`evaluateJavascript()`方法来实现。首先,你需要将JavaScript代码注入到WebView中,然后调用相应的函数...

    编码解码代码demo

    - MD5编码:展示如何使用编程语言(如Python、Java、JavaScript等)计算一个字符串或文件的MD5哈希值,并将其输出。 - MD5解码:虽然MD5是单向哈希,不能直接解码回原始数据,但可能包含验证MD5哈希值与预知值是否...

    java实现js的escape和unescape

    通过上述讨论,我们不仅了解了如何在Java中实现JavaScript的`escape`和`unescape`功能,还深入了解了编码与解码的基本原理。这对于跨语言的数据处理和网络通信具有重要的实践意义。掌握这些技巧,能够帮助开发者更加...

    jspacker压缩与解码

    **jspacker:JavaScript代码压缩与打包工具** **一、什么是jspacker?** jspacker是一款针对JavaScript代码进行压缩和加密的工具,它通过一系列算法优化,有效地减小了JS文件的大小,提高了网页加载速度,同时提供...

    java 混淆、加密js代码

    在JavaScript加密方面,可以采用更高级的技术,如动态加载、代码分割、自定义编码解码算法等,使得即使获取到加密后的代码,也需要特定的解密过程才能执行。这种方式比单纯的混淆更难破解,但可能会影响代码的调试和...

    Base64加密解密java/js

    参照网上Base64 js加密解密写的java实现,网上没看到出现过,可能大神都不屑写这种小东东,只好自己写了。弄了好几天,总算弄好了。 因为是参照 js Base64写的java实现,所以代码可实现前台js,后台java的加密,...

Global site tag (gtag.js) - Google Analytics