`
sundful
  • 浏览: 1251344 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jsp中URL中文处理

阅读更多
先看两个示例:
示例一:

<%! public String GBToISO(String str)
{try{byte temp[]=str.getBytes("GB2312");
str=new String(temp,"ISO-8859-1");
return str;
}catch(Exception e){return str;}}

response.sendRedirect(GBToISO("errmsg.jsp?errmsg=添加客户信息成功"));%>

示例二:
////////////超级连接中profession为中文
<a href="cust_totallist.jsp?action=delete&page=<%=intCurrentPage%>&cust_id=<%=rs.getInt("id")%>&profession=<%=java.net.URLEncoder.encode(profession,"ISO-8859-1")%>">删除</a>
////////////cust_totallist.jsp中取profession值
String profession=java.net.URLDecoder.decode(request.getParameter("profession").trim(),"ISO-8859-1");


可见,URL中编码格式为ISO-8859-1,处理中文只需将编码格式转换ISO-8859-1

方法一:
http://xxx.do?ptname='我是中国人'
String strPtname = request.getParameter("ptname");
strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");  

方法二:

<%@ 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");

以上方法是收聚了一些网友所讲的解决方法 。
分享到:
评论

相关推荐

    JSP对URL链接中的中文乱码处理方法总结.docx

    JSP 对 URL 链接中的中文乱码处理方法总结是指在 JSP 应用程序中,如何正确地处理 URL 链接中的中文字符编码问题。这个问题的出现是由于不同浏览器和服务器的默认编码方式不同所造成的。 IE浏览器缺省对 URL 后面的...

    jsp中URL传递中文参数的处理方法

    在页面的url中使用encodeURI(encodeURI(中文)),对中文进行编码,并在服务器的java程序中使用URLDecoder.decode(中文, “UTF-8”)进行解码即可; 如果url中需要传递+、#、?等特殊符号,可以使用encodeURIComponent...

    jsp使用URL编码传递中文参数问题.doc

    在JSP开发中,处理URL编码传递中文参数是常见的需求,尤其是在构建动态网页时。这个问题主要涉及到字符编码的转换,因为不同的编码标准可能导致乱码。以下是对这个主题的详细解释: 1. **URL编码**:URL(统一资源...

    servlet与jsp中文乱码处理

    3. **JSP中的中文乱码处理** - **JSP页面头设置**:在JSP文件顶部添加`;charset=UTF-8" %&gt;`,指定页面编码。 - **JSP标签乱码**:如果使用`&lt;%= %&gt;`或`&lt;jsp:expression&gt;`标签输出中文,需确保页面编码正确。 - **...

    JSP中js传递和解析URL参数以及中文转码和解码问题

    1.传递参数: 代码如下: var pmt = ‘sensor=’+ encodeURI(encodeURI(sensor))... top.location.href = ‘jsp/print/diagnosticAnaPrint.jsp?’+pmt; 2.接收和解析参数 代码如下: //获取URL参数 function GetRequest()

    JSP中文乱码处理JSP中文乱码处理

    【JSP中文乱码处理详解】 在Web开发中,JSP中文乱码是一个常见的问题,主要涉及页面显示、表单提交以及数据库操作等环节。理解并掌握这些环节的编码处理至关重要,以确保数据的准确性和用户体验。 1. **JSP文件的...

    JSP中js传递和解析URL参数以及中文转码和解码问题.docx

    在Web开发中,尤其是使用Java Server Pages (JSP)进行开发时,经常需要处理URL中的参数,包括参数的传递、解析以及对中文等特殊字符的处理。本文将详细介绍如何在JSP页面中利用JavaScript进行URL参数的传递和解析,...

    教学视频--JSP中URL传递中文乱码问题的解决演示.rar

    然而,在实际操作中,我们时常会遇到一个问题,那就是当JSP页面通过URL传递包含中文字符的参数时,可能会出现乱码现象。这个问题主要源于HTTP协议的特性以及字符编码的处理不当。本教学视频将详细讲解如何解决JSP中...

    怎么解决JSP页面中文问题20100901

    在Web开发中,尤其是使用Java Server Pages (JSP)进行开发时,处理中文字符常常会遇到乱码问题。本文将详细探讨如何有效地解决JSP页面中的中文问题,确保用户界面能够正确地显示中文内容。 #### JSP页面中文问题的...

    如何配置Filter过滤器处理JSP中文乱码

    【如何配置Filter过滤器处理JSP中文乱码】 在开发Java Web应用时,尤其是在处理包含中文字符的请求时,可能会遇到中文乱码的问题。解决这个问题的一种常见方法是使用Filter过滤器。以下是配置Filter过滤器处理JSP...

    JSP中文乱码问题分析及处理方法

    ### JSP中文乱码问题分析及处理方法 #### 一、问题根源剖析 JSP(Java Server Pages)作为Web开发中的一种技术,广泛应用于动态网页的生成。然而,在处理中文字符时,JSP经常会遇到“乱码”问题,即中文字符无法...

    jsp中在提交表单时的中文处理问题

    在JSP(Java Server Pages)中处理中文字符时,特别是在用户通过表单提交数据时,可能会遇到各种编码问题。这是因为Web应用中涉及到多种编码格式,包括浏览器编码、HTTP请求编码、服务器编码等,如果这些编码不一致...

    jsp 过滤器中文乱码的处理

    本篇文章将详细讲解如何处理JSP中的中文乱码以及如何通过过滤器(Filter)来解决这一问题。 首先,中文乱码的处理主要涉及到字符集(Charset)的概念。在JSP中,当请求参数包含中文字符时,如果不设定字符编码,...

    JSP中解决中文乱码的万能方法

    在JSP开发过程中,中文乱码问题是一个常见的技术难题,尤其在处理客户端与服务器之间的数据交互时更为突出。本文将详细介绍几种有效的解决方案,帮助开发者应对各种场景下的乱码问题。 #### 一、解决服务器响应中文...

    Jsp页面在URL中传递参数会出现乱码问题解决

    在Web开发中,尤其是使用Java JSP技术时,我们可能会遇到URL中传递参数出现乱码的问题。这是因为不同的字符集编码方式可能导致字符在传输过程中无法正确解析。本文将详细介绍两种解决JSP页面URL参数乱码的方法,虽然...

    web开发中url乱码处理

    7. **代码实现**:在实际应用中,你可以这样编写JSP页面和后台处理代码: - JSP页面: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE html&gt; // JavaScript URL编码 &lt;!-- 页面内容 --&gt; ...

    jspurl中中文参数的乱码解决.docx

    总之,处理JSP中URL中的中文参数乱码问题需要理解HTTP协议、字符编码原理以及浏览器和服务器之间的交互。通过在客户端进行预编码和在服务器端进行正确解码,可以有效地解决这个问题,确保数据的完整性和正确性。

    JSP中汉字乱码现象分析与解决.pdf

    综上所述,解决JSP中的中文乱码问题主要涉及以下几个方面:合理设置JSP文件和响应的编码方式、注意文件头部的BOM、确保客户端和服务器端之间的编码方式一致、正确处理GET和POST请求中的中文参数。通过上述措施,可以...

    JSP中文处理方法

    在Java Server Pages (JSP) 开发过程中,中文字符的正确显示和处理是一项常见的挑战。这主要源于不同系统、编码标准以及网络传输之间的兼容性问题。本文将从JSP中文处理的基础概念出发,深入探讨各种常见场景下的...

    jsp传中文值

    例如,当从一个JSP页面通过URL参数向另一个JSP页面传递中文字符串时,如果两个页面或请求处理过程中的字符编码设置不一致,就可能会导致接收方看到的是乱码。 #### 知识点二:使用`encodeURIComponent`编码中文参数...

Global site tag (gtag.js) - Google Analytics