注:

在使用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 组件的标点符号进行编码

例:

functionzhuanma(){

varname = document.getElementById("name").value;

varpass = document.getElementById("pass").value;

name = window.encodeURI(window.encodeURI(name));

varurl ="/user/userlogin.action?name="+name+"&pass="+pass+";

window.open(url,'','width=800,height=250,top=80,left=70,location=no,status=no,scrollbars=yes,resizable=yes');

}

}

后台java解码:

name = java.net.URLDecoder.decode(name,"UTF-8");

这样就解决了get传参中文乱码的问题。

疑问:

同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题。

原来他是这样写的:

window.self.location="searchbytext.action?searchtext="+encodeURIComponent(seartext);

java处理的代码为:

searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");/*需要处理异常*/

咋一看觉的没问题啊,一编一解的,应该可以了。但还是出现了乱码。

后来网搜资料,发现原来在对后台java程序里的searchtext赋值的时候,本身已经使用了一次解码,不过解码的结果依然不对。所以我们可以在页面上进行两次编码操作,这样后台自动的那次就可以抵消掉一次,然后在使用searchtext=java.net.URLDecoder.decode(searchtext,"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编码java解码_Js编码和Java后台解码相关推荐

  1. js编码java解码_js编码处理(转)

    1.使用 JS中的 encodeURIComponent或 encodeURI方法. 说明: encodeURIComponent(String) 对传递参数进行设置.不编码字符有 71个: !, ' ...

  2. js代码转换成java代码_js代码转换为java

    展开全部 理解他的原理就好写了. 所有参数 排除 时间戳,按照字母顺序排序,然后连接起来 和 appKey 以及32313133353236313431303231363533e58685e5aeb9 ...

  3. Js编码和Java后台解码

    注: 在使用get提交,url传递参数的时候,会带来中文乱码的问题,对此可以使用js编码来解决. Js编码的几种方式区别: 1.window.escape()与HttpUtility.UrlEncod ...

  4. Java中的编码与解码

    1. 基本概念: (1)字符集(Charset):是一个系统支持的所有字符的集合,包括各国家文字.标点符号.图形符号.数字等. (2)字符编码(Character Encoding):就是一套自然语言 ...

  5. java安全技术-Base64编码与解码

    BASE64编码入门 l         概念及原理介绍 Base64采用了一种很简单的编码转换:对于待编码数据,以3个字节为单位,依次取6位数据并在前面补上两个0形成新的8位编码,由于3*8=4*6 ...

  6. Java 技术篇 - ServerSocket接收http的url请求中包含中文的处理方法,URLDecode与URLEncode,url解码与编码

    效果图: 正常接收到中文的请求是这个样子的:%E6%AC%A2%E8%BF%8E%E6%9D%A5%E5%88%B0%E5%B0%8F%E8%93%9D%E6%9E%A3%E7%9A%84%E5%8D ...

  7. Java笔记-字符串编码与解码以及编码表原理

    编码表 编码表:是一张由字符及其对应编码的表 计算机只能识别二进制数据,早期由电信号演化而来. 为了方便使用计算机,让它可以识别各个国家的文字,就将各个国家的文字用数字来表示,并一一对应,形成一张编码 ...

  8. java中文乱码解决之道(五)—–java是如何编码解码的

    编码&解码 1:I/O操作 2:内存 3:数据库 4:javaWeb 下面主要介绍前面两种场景,数据库部分只要设置正确编码格式就不会有什么问题,javaWeb场景过多需要了解URL.get.P ...

  9. java 编码解码_深入解析Java中的编码转换以及编码和解码操作

    一.Java编码转换过程 我们总是用一个java类文件和用户进行最直接的交互(输入.输出),这些交互内容包含的文字可能会包含中文.无论这些java类是与数据库交互,还是与前端页面交互,他们的生命周期总 ...

最新文章

  1. c语言编程杨辉三角前八行思路,C语言----(杨辉三角)
  2. 如何使用Cisco命令阻止访问特定网站
  3. 学习型php空间,补装修日记:学习型业主三大要素
  4. Python_装饰器Decorator
  5. python共享内存mmap_python - IPC在单独的Docker容器中的Python脚本之间共享内存 - 堆栈内存溢出...
  6. Android为TV端助力 浅谈Aidl 通讯机制
  7. 思科被发现使用华为代码,解释:忘了删
  8. Java基础(彩票小程序)
  9. 基于MiniC的语义分析(使用javacc)
  10. Windows取证分析基础知识大全
  11. 最小平方误差算法(LMSE) python实现
  12. 证券词汇集锦(中英文+注释版)
  13. vulnhub靶机渗透 | It's October
  14. 【邻接矩阵乘法】沼泽鳄鱼
  15. matlab pca 主元 贡献,主元分析(PCA)原理
  16. 物流手持PDA,无线巴枪
  17. 基于MT7688模块的开发笔记12——给MT7688开发板添加WiFi功能
  18. c++left right 和 setw() 函数的用法Alignment of Code
  19. 纯C嵌入式webrtc开发库metaRTC VS AWS KVS
  20. 未来技术 html5 app,未来web浏览技术提前体验:10个会让你惊叹不已的HTML5画布(canvas)技术应用演示...

热门文章

  1. 神经网络听上去高大上?带你从零开始训练一个网络(基于MNIST)
  2. php风车,用源码包来实现LAMP 的详细过程
  3. 什么是 CDN 缓存命中率以及如何计算和优化它?
  4. 计算机毕业设计springboot+vue基本微信小程序的电子书阅读器小程序
  5. Azure104题库下载2021最新版
  6. iphone x性能测试软件,iPhoneX跑分性能评测 iPhoneX跑分是什么水平
  7. 追溯查询系统-PDA扫码机无线手持追溯,产品跟踪
  8. Ubuntu_Ubuntu下的PDF相关工具
  9. 计算机模拟退火算法,模拟退火算法
  10. 2013华东数据库技术大会亮点回顾:数据库扩展性,高效SQL,MariaDB