get方式url传递值是中文乱码JavaScript/Java工具类编码及解码互用
来源:互联网 发布:百度和知乎的区别 编辑:程序博客网 时间:2024/06/12 20:07
最近快上线的新项目,在window平台上好好的,可是部署到Linux上就出现了部分乱码问题,费了一番周折才发现,凡是通过get方式传递的中文都会出现乱码现象,也怀疑是Linux系统编码的问题,或者是weblogic做过集群,可是但是自己不负责这块,安装系统和服务器的人也离开了,只好从程序下手了。
一开始找原因的时候,就从jsp页面的字符值着手,都是同一的GBK格式,在后来在Action做处理也不管用,然后想到把传递的中文字符编码成其他格式,然后通过解码方式在对其传递值进行解码。
传递的时候,是通过js获取值,然后传递的
A.jsp:parent.HiddFrame.location.href="../ywflcx/dwgjqkylb.jsp?dbname="+dbname+"&ndxz="+ndxz;
到另一个页面获取数据可是通过
B.jsp:request.getParameter("---");
C.jsp:nbzyForm.ndxz.value = "<c:out value="${param[ndxz]}"/>"; //jsp页面加载时赋值 function onLoad(){}
这样的话,我们在A页面做传递值编码,在B页面做传递值解码;
那么就要灵活的使用javascript和java工具类的相互编码及解码,因为你不知这个页面采用编码后,
1、下一个页可能是给一个From赋值 js
2、直接通过request获取 request
要知道前者可是通过js相应方式解码,后者可不行,因为使用request获取值时,jsp页面首先执行小脚本里面的内容,所以得采用java工具类解码。
----- JavaScript 方式编码、解码
/**
* 对传递值进行编码
* wenglin 2010-07-30
*/
function setEncodeURI(str){
var result = encodeURI(str);
result = encodeURI(result);
return result;
}
/**
* 对传递值进行解码
* wenglin 2010-07-30
*/
function setdecodeURI(str){
var result = decodeURI(str);
result = decodeURI(result);
return result;
}
------Java工具类编码、解码
/**
* 解码方法
* @param doStr
* @return
* @throws Exception
*@author wenglin 2010-07-30
*/
public static String doUrlDecoderStr(String doStr) throws Exception{
try {
String resultStr = "";
if(doStr != ""){
resultStr=new String(doStr.getBytes());
resultStr=java.net.URLDecoder.decode(resultStr,"UTF-8");//
}
return resultStr;
} catch (UnsupportedEncodingException e) {
throw new UnsupportedEncodingException("解码出错:UrlDecoderStrCommons"+e.getMessage());
}
}
/**
* 编码方法
* @param doStr
* @return
* @throws Exception
*@author wenglin 2010-07-30
*/
public static String doUrlEncoderStr(String doStr) throws Exception{
try {
String resultStr = "";
if(doStr != ""){
resultStr=new String(doStr.getBytes());
resultStr=java.net.URLEncoder.encode(resultStr, "UTF-8");//解码
}
return resultStr;
} catch (UnsupportedEncodingException e) {
throw new UnsupportedEncodingException("解码出错:UrlDecoderStrCommons"+e.getMessage());
}
}
这样,就可以根据情况相互编码,解码。
- get方式url传递值是中文乱码JavaScript/Java工具类编码及解码互用
- get URL方式传递中文
- URL传递中文参数乱码----js对url进行编码和解码
- Java中文乱码解决之道:Java是如何编码解码的
- javascript--url传递中文乱码.
- javascript--url传递中文乱码
- Javascript与ASP.NET(一般处理程序)关于URL(get方式)传递中文乱码问题的解决方案
- Javascript与ASP.NET(一般处理程序)关于URL(get方式)传递中文乱码问题的解决方案
- GET方式的中文编码与解码
- URL编码解码工具类
- 通过url方式传递中文乱码解决办法
- 通过url方式传递中文乱码解决办法
- 通过url方式传递中文乱码解决办法
- java 页面url传值中文编码&解码
- js/java 页面url传值中文编码&解码问题
- js/java 页面url传值中文编码&解码问题
- js/java 页面url传值中文编码&解码问题
- java 页面url传值中文编码&解码
- 建立USB启动盘
- spring登陆
- CAVLC中的前缀和后缀
- 浅谈JAVA输入输出流
- UVaOJ 133 - The Dole Queue
- get方式url传递值是中文乱码JavaScript/Java工具类编码及解码互用
- popupWindow
- asp函数截取字符串左边的限定长度
- 退出系统后如何防止点击ie后退按钮返回系统
- KVM简明手册
- sql 行列互换 CASE WHEN
- CSDN 真好
- PCB中各层的含义
- GM Tech-2 PRO Kit (CANdi TIS)