JAVA 中URL链接中文参数乱码的若干处理方法,现在整理收录如下:
方法一:
(1) JS中,在URL参数中确保用UTF-8编码,用js函数encodeURI()编码,例如
url:"xx.action?id="+treeNode.id+"&name="+encodeURI(newname),
(2) 在java的action中,
import javax.servlet.http.HttpServletRequest;
HttpServletRequest request = ServletActionContext.getRequest();
request.setCharacterEncoding("UTF-8");
String name = new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");//用request获取URL传递的中文参数
方法二:
<%@ page contentType="text/html;charset=gb2312" %>
<a href="ds.jsp?url=<%=java.net.URLEncoder.encode("编码的是这里","GB2312")%>">点击这里</a>
<%
//request.setCharacterEncoding("GBK");
if(request.getParameter("url")!=null) {
str=request.getParameter("url");
str=java.net.URLDecoder.decode(str,"GB2312");
str=new String(str.getBytes("ISO-8859-1"));
out.print(str);
}
%>
==================================
public String chinatoString(String str) {
String s=str;
try {
byte tempB[]=s.getBytes("ISO-8859-1");
s=new String(tempB);
return s;
}
catch(Exception e) {
return s;
}
}
====================================================
function URLencode(sStr) {
return escape(sStr).
replace(/\+/g, '%2B').
replace(/\"/g,'%22').
replace(/\'/g, '%27').
replace(/\//g,'%2F');
}
方法三:
如果用jstl的话,可以自己写一个el的function,调用URLEncoder.encode来编码。
IE缺省对URL后面的参数是不编码发送的,但是tomat缺省是按ISO8859-1来进行URL解码,因此才会出现上述错误。好的做法是:
1、在URL参数中确保用UTF-8编码之,方法可以用js函数encodeURI(),或调用自定义的el function;
2、设置server.xml中的Connector熟悉URIEncoding="UTF-8",确保解码格式与编码格式统一;
方法四:
<script>
for(var i=0;i<document.links.length;i++){
document.links[i].href=encodeURI(document.links[i].href);
}
</script>
在action中,String s=request.getParameter("s");
s=new String(s.getBytes("iso-8859-1"),"gbk");
以上方法是收聚了一些网友所讲的解决方法 。
功能在:经费报账-项目查询(合计)
相关推荐
主要为大家分享了介绍了java中文乱码之解决URL中文乱码问题的方法,感兴趣的小伙伴们可以参考一下
get提交中文乱码 地址重写中文乱码 jsp url中文乱码四种解决方式
js 中乱码处理法方式 encodeURIComponent(encodeURIComponent(customerAddress)) decodeURIComponent(customerName) js到java encodeURI(url) String qijuType= new String(request.getParameter( (...
asp.net中URL参数传值中文乱码的三种解决办法
解决java中url传参时出现的中文乱码,在传参页面用URLEncoder.encode("","UTF-8") 在显示页面jsp页面开头加, request.setCharacterEncoding("UTF-8")
java中文乱码解决之道(8)解决URL中文乱码问题Java开发Java经验技巧共7页.pdf.zip
url中文乱码处理大全.docx
在开发过程中遇到了Url的中文乱码问题,经过多次测试,解决了问题,并分享给大家,希望能够你帮助!
主要介绍了IOS 解决URL中文乱码问题解决方案的相关资料,需要的朋友可以参考下
JBoss服务器URL乱码的问题解决办法
url地址传参中文乱码处理
从A页面通过url传参到B页面时,获取URL中参数出现中文乱码问题,解析url参数的正确方法如下,感兴趣的朋友可以参考下
解决zxing二维码pdf417中文乱码问题 编译.net 2.0 4.0
在 ISAPI_Rewrite 1.3 版本时,只要对URL进行UrlEncode操作,就可以正常接收中文,但是换为 3.1版后, 采用GB2312 的接收页面就是乱码了。 换用了ISAPI_Rewrite 3.x后发现编码后的字符会变成乱码,如果直接使用中文...
解决奇数个中文字符url传递乱码问题,做了好久才找到的解决方案!
php中url地址栏传参数中文乱码解决方法汇总
URL汉字编码问题(及乱码解决)
1.将svn下的wc.db赋值到软件目录; 2.命令行cd到软件目录,执行sqlite 3.执行delete from work_queue 4.将生成的wc.db覆盖svn上的,clean up
JavaScript获取Url中的参数(解决中文乱码) 可以点击更改URL按钮 修改url中的参数
1. 汉字乱码 2. 空格变成 + 号 本资源演示Delphi代码,实现javascript能正确进行Base64解码,不出现上述2个问题。 解决思路:进行Base64前先进行URL编码,在进行URL编码的时候,注意设置不需要SpaceAsPlus选项。 ...