`
zys08
  • 浏览: 146320 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

解决传递接收参数是中文的乱码问题

    博客分类:
  • HTML
 
阅读更多

今天解决了一个头疼的bug,是一段jsp写的代码,其中使用到了java.net.URLEncoder.encode()对要传递的中文进行编码。可是接收到的字符串却是乱码。最令人抓狂的就是这段代码在有的机器上运行正常,可是在某些机器上死活也不能正常运行。因为对jsp和网页都不是很熟所以查了很久才发现原因。

最后发现是这段代码没有规范的使用java.net.URLEncoder,虽然使用了java.net.URLEncoder.encode()对要传递的中文进行编码,可是接收页面接收时没有使用java.net.URLEncoder.decode()进行解码。导致在有的机器上运行正常,而有的就出错。

 

下面贴一下解决这个问题参考的文章:

使用java.net.URLEncoder.encode()可以对要传递的中文进行编码

a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);
取值时用语句java.net.URLDecoder.decode(param);再转回中文
b.在你的Tomcat目录-->conf目录-->server.xml里找出这段:
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"
<!--在里边加上这个参数-->
URIEncoding="gb2312"
/>

 

例如:
<%@ page contentType="text/html;charset=gb2312" %>

<a href="ds.jsp?url=<%=java.net.URLEncoder.encode("编码的是这里","GB2312")%>">点击这里</a>


<%
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);
}

%>

若,字符编码为utf-8也可以实现.或者在此段代码中,不写出字符编码也可以(只写一个参数)。

 

分享到:
评论

相关推荐

    extjs 前后台交互参数出现中文乱码问题的解决方法

    ### extjs前后台交互参数出现中文乱码问题的解决方法 #### 问题背景与原因分析 在使用MyEclipse开发工具进行Web应用开发时,尤其是采用ExtJS框架结合Ajax技术进行前后端数据交互的过程中,可能会遇到一个常见的...

    jquery获取URL中参数解决中文乱码问题的两种方法

    当我们需要在两个页面间通过URL传递参数时,经常会遇到中文乱码问题。这个问题主要是因为URL中的参数可能没有经过正确的编码和解码处理。为了解决这个问题,我们可以采取一些方法,特别是当使用jQuery来获取URL参数...

    解决JS传递中文乱码问题

    ### 解决JS传递中文乱码问题 在Web开发过程中,我们经常会遇到中文字符编码的问题,尤其是在前后端数据交互时,中文字符的乱码问题更是让人头疼。本文将深入探讨如何解决JavaScript(简称JS)在传递中文字符时出现...

    ajax传递中文参数乱码解决办法

    ### AJAX传递中文参数乱码解决办法 在Web开发过程中,数据传输是不可或缺的一部分,而AJAX作为一种无需重新加载整个页面的情况下就能与服务器交换数据的技术,被广泛应用于动态数据交互场景中。然而,在处理中文等...

    解决中文乱码问题

    对于Servlet接收Form/Request传递的参数时显示为乱码的问题,我们可以通过在用到request方法的前面加上:request.setCharacterEncoding("GBK");来解决。 在数据库存取的时候产生乱码的问题,我们可以通过选择UTF-8...

    解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题

    解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题 SpringMVC 是一个基于模型-视图-控制器(MVC)模式的Web应用程序框架,广泛应用于Java Web开发中。但是,在使用SpringMVC时,常见的一个问题是...

    FORM表单中文乱码问题分析与解决

    FORM表单中文乱码问题分析与解决 在 Web 开发中,中文乱码问题...对中文的编码方式和解码方式是解决中文乱码问题的关键。使用正确的编码方式和解码方式可以解决中文乱码问题,从而确保FORM表单中的中文参数传递正确。

    AJAX技术使用XMLHttpRequest对象传递参数的中文乱码问题

    综上所述,解决AJAX技术使用`XMLHttpRequest`对象传递参数时出现的中文乱码问题,关键在于保持客户端与服务器端的编码一致性。通过合理设置请求头、使用适当的编码和解码函数,可以有效避免此类问题的发生。此外,在...

    asp.net中URL参数传值中文乱码的三种解决办法

    了解这些基本概念后,结合以上三种方法,我们可以有效解决ASP.NET中URL参数传递中文时的乱码问题。在实际开发中,应根据具体项目需求和环境选择合适的方法,确保数据的正确传递。同时,为了兼容更多情况,建议在开发...

    修改Tomcat默认编码消除get方式传递参数出现中文乱码

    通过修改Tomcat的`Server.xml`文件中的`&lt;Connector&gt;`元素,设置`URIEncoding`属性为支持中文的编码(如`GB2312`或`UTF-8`),可以有效解决GET方式传递参数时出现的中文乱码问题。这一修改使得Tomcat能够正确解析和...

    asp.net页面通过URL参数传值中文乱码问题解决办法

    例如,通过JavaScript调用Web服务传递中文参数时,仅配置Web.config可能不足以解决问题,需要在代码中处理编码。 另外,如果从其他已正确处理编码的页面获取中文参数,可以直接使用`System.Web.HttpUtility....

    Java Http请求传json数据乱码问题的解决

    在实际解决乱码问题的过程中,如果发现使用Base64加密传输中文数据还会出现问题,可以改用URL编码的方式来传输数据,即使用JavaScript的`encodeURI`函数对数据进行两次URL编码,后端接收到后进行一次URL解码即可。...

    C++Http上传文件到web服务器,解决中文参数乱码

    总的来说,解决C++使用CHttpConnect类进行HTTP文件上传时的中文参数乱码问题,关键是确保正确地编码请求头和请求体,以及正确地处理服务器的响应。通过遵循这些步骤,并检查每个环节的编码和解码过程,你可以成功地...

    jsp传参 servlet接收中文乱码问题的解决方法.docx

    jsp 传参 servlet 接收中文乱码问题的解决方法 jsp 传参 servlet 接收中文乱码问题是一个经常遇到的问题,特别是在使用 Hibernate+Servlet 框架时。当我们在 jsp 页面传参到 servlet 时,中文字符经常会出现乱码...

    传递汉字丢失或乱码的问题

    总结来说,解决“传递汉字丢失或乱码”问题的关键在于理解和正确应用编码标准,确保数据处理、传输和存储过程中编码的一致性。在实际操作中,需要对涉及编码的各个环节进行仔细检查,才能有效地避免这类问题的发生。...

    ajax中文参数乱码问题解决方法

    主要解决在ajax中中文参数传递过程中,服务器接收到中文乱码的问题

    jsp页面传值中文乱码问题处理.docx

    jsp页面传值中文乱码问题处理 在 JSP 页面中传值时,中文字符可能会出现乱码问题,这...JSP 页面传值中文乱码问题可以通过修改编码方式、设置输出编码、接收参数编码、Get 提交编码和数据库连接参数编码等方式来解决。

    解决tomcat中文乱码问题

    首先,确保网页的编码格式正确设置,这是解决中文乱码的基础。可以通过以下三种方式之一来设置: 1. **使用`contentType`属性**:在JSP页面头部添加`;charset=UTF-8" %&gt;`,这里的`UTF-8`可以替换为你需要的编码格式...

    URL传参数时中文乱码解决方法

    在IT领域,尤其是在Web开发中,处理URL传递参数时遇到中文乱码是一个常见的问题,尤其当数据需要跨系统或在不同编码环境下传输时更为显著。本文将深入探讨URL传参数时中文乱码的原因、影响以及如何有效解决这一问题...

Global site tag (gtag.js) - Google Analytics