java.io.CharConversionException isHexDigit JS转码问题
来源:互联网 发布:c语言100道经典案例 编辑:程序博客网 时间:2024/04/28 08:42
首先escape(String)采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。
所以第一可以尝试去掉escape()方法,用encodeURI(encodeURI(String))对你要进行传递的参数进行转码,然后在Servlet接受的时候用java.net.URLDecoder.decode(String,”UTF-8”) 即可
例如:
var url = "UpdateContractServlet?contractId="+ escape(contractId); //此处传递一个参数 System.out.println(request.getParameter("contractId")); //此处取值会出现中文乱码形如???
要做如下修改:
var url = "UpdateContractServlet?contractId="+ encodeURI(encodeURI(contractId));
或者:
var url = "UpdateContractServlet?contractId="+ contractId; url = encodeURI(encodeURI(url)); System.out.println(java.net.URLDecoder.decode(request.getParameter("contractId"),"UTF-8") );
另外,还有一种情况也会出现这类错误:
比如:点击grid中的一行数据请求一个controller,将该行数据作为入参传给这个controller,此时就会出项这个JS转码的问题,那么我们怎么解决呢?非常简单!可以将该行数据在传给后台controller之前进行解析,解析成形如下面的JSON格式数据再传给后台就OK了:
//获取输入框中的查询条件 var interfaceNameBox=document.getElementById("interfaceName"); var interfaceName=interfaceNameBox.options[interfaceNameBox.selectedIndex].text; var provinceBox=document.getElementById("province"); var province=provinceBox.options[provinceBox.selectedIndex].text //var province = $('#province').val(); var startDate=$('#startDate').datebox('getValue'); var endDate=$('#endDate').datebox('getValue'); //构造查询参数 var qryParam={ interfaceName:interfaceName, province:province, startDate:startDate, endDate:endDate, pageNumber:pageNumber, pageSize:pageSize };
2 0
- java.io.CharConversionException: isHexDigit JS转码问题
- java.io.CharConversionException isHexDigit JS转码问题
- 转 java.io.CharConversionException: isHexDigit
- java.io.CharConversionException: isHexDigit
- java.io.CharConversionException: isHexDigit
- java.io.CharConversionException: isHexDigit
- java.io.CharConversionException: isHexDigit
- java.io.CharConversionException: isHexDigit.
- java.io.CharConversionException: isHexDigit
- java.io.CharConversionException: isHexDigit
- 乱码java.io.CharConversionException: isHexDigit
- java.io.CharConversionException: isHexDigit 出现错误的原因及其解决办法
- Character decoding failed. Parameter skipped.java.io.CharConversionException: isHexDigit.
- 中文参数传递方式 及 java.io.CharConversionException: isHexDigit
- java.io.CharConversionException: isHexDigit 出现错误的原因及其解决办法
- Character decoding failed. Parameter skipped.java.io.CharConversionException: isHexDigit.
- Character decoding failed. Parameter skipped.java.io.CharConversionException: isHexDigit.
- java.io.CharConversionException翻译
- django如何在 search_fields 中包含外键字段
- org.hibernate.HibernateException: No CurrentSessionContext configured!
- android 自定义View于软键盘之上
- Android View绘制之旅
- Odd Even Linked List leetcode 328
- java.io.CharConversionException isHexDigit JS转码问题
- json基本操作
- Android TV-Creating TV Navigation
- 大学毕业的忧伤
- POJ 2240 Arbitrage
- 修改rhel yum
- 笔记本使用时间长后关不了机,假死
- ThreadLocal详解
- 高并发服务端分布式系统设计概要