`
kiki1120
  • 浏览: 314567 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

接收含有中文参数的请求URL,中文变成乱码

阅读更多

最近收到一个用户测试发现的问题,首先是OA门户通过sslvpn代理后图片、flash不能显示,样式不正常,经过查看页面源代码分析原因,是因为图片、flash以及样式表路径始终是http开头,不像其他URL链接已经转换成https开头了。和用户沟通确认代码使用的是相对地址,那就十分奇怪了。不管怎样先把问题解决再说,幸好sslvpn支持http转发功能,默认是关闭的,启用后页面显示正常了。

 

但第2个问题出来了,点击二级目录访问时,页面显示有乱码并且部分内容不能显示,出现问题的页面都是URL链接带有中文参数的,而不带中文参数的页面都很正常。站在用户角度考虑尽量不改应用,所以想如何在网关上做改动来解决乱码问题。网关是支持国际化的,所以默认UTF-8编码方式接收请求,用户那边却不是。经过反复转换编码进行试验都不能完美解决乱码,最后只能是修改用户的应用了。

 

经测试后得出,只要修改2个地方就可解决。一是Tomcat的server.xml文件,在指定监听端口的地方增加URIEncoding="UTF-8";二是二级目录页面定义存储编码格式为UTF-8。重启Tomcat服务,再通过sslvpn代理后二级目录页面就能正常显示了。

分享到:
评论

相关推荐

    Delphi10中idHttpServer接收中文参数乱码的处理

    但在接收浏览器发送的带中文URL时,取参数就会是乱码。经过查找资源,发现大部分浏览器,中文一般会先转码为utf-8,此时,idHttpServer控件会根据请求头中ContentType的Chatset进行相应的转码,以形成正确的参数。但...

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

    在接收URL参数的地方,可以通过编程方式来处理中文乱码。例如在`Page_Load`事件中,使用`HttpUtility.UrlDecode`方法解码URL参数: ```csharp protected void Page_Load(object sender, EventArgs e) { if (!...

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

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

    jmeter5.0 解决请求参数中文乱码ApacheJMeter_http.jar

    在这个场景下,我们关注的是如何解决在使用JMeter 5.0版本时遇到的请求参数中文乱码问题。 首先,中文乱码问题通常是由于字符编码不一致导致的。在HTTP请求中,如果服务器和客户端对字符编码的理解不同,就可能导致...

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

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

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

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

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

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

    解决了中文乱码的http的get和post请求demo

    当HTTP请求发送含有中文字符的数据时,如果编码格式不一致或未正确指定,接收端就可能无法正确解码,从而导致乱码。HTTP协议本身并不规定字符编码,而是依赖于Content-Type头部来指定。 1. **GET请求中的中文乱码**...

    android客户端向服务器提交请求的中文乱码问题

    在发送前对中文参数进行URL编码,在服务器端接收到请求后进行解码。同时,服务器端需要配置正确地处理接收的字符编码,以避免乱码。在本例中,使用`URLEncoder`和`URLDecoder`进行编码和解码,有效地解决了Android...

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

    3. **服务器端编码**:服务器在接收请求时,需正确识别并解码URL中的参数,若服务器端的字符集与客户端发送时的字符集不一致,就会导致乱码。 ### 解决方案 为了解决URL传参数时中文乱码的问题,开发者需要采取一...

    解决url中文乱码.doc

    3. **解决URL乱码**:在`Index.jsp`中,两个按钮点击事件分别调用了`doSubmit()`和`doAction()`函数,这两个函数使用`URLEncoder.encode()`对中文字符串进行编码,确保在URL中传输时不出现乱码。例如: ```java (...

    使用prototype.js发送ajax get请求中文参数乱码解决

    在处理中文参数时,尤其是在使用Ajax的GET请求时,可能会遇到中文乱码的问题。这是因为浏览器、服务器和JavaScript之间的编码处理不一致所导致的。本文将深入探讨这个问题,并提供解决方案。 首先,我们需要了解...

    彻底解决中文乱码的问题

    中文乱码问题在Java中的表现多种多样,例如,从文件读取中文数据时显示为乱码,通过HTTP请求接收的中文内容显示异常,或者在控制台上打印中文字符出现乱码等。这些问题的根源在于编码的不统一,比如文件是GBK编码,...

    get、post请求中文乱码处理方式一

    - URL编码:GET请求的数据会被附加到URL后面,因此需要对包含中文的参数进行URL编码(使用`encodeURIComponent()`函数)。服务端接收到请求后,再进行解码(如Java中的`java.net.URLDecoder.decode()`)。 - 设置...

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

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

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

    在Asp.Net开发中,遇到页面通过URL参数传递中文字符时出现乱码是一个常见的问题。这个问题通常是由于字符编码不一致导致的。以下是三种常见的解决方法: 1. **配置Web.config文件**: 在Web.config文件的`...

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

    在使用AJAX向服务器发送请求时,如果请求参数中包含中文字符,可能会因为编码方式不一致导致接收方解析出错,从而出现乱码现象。这主要是由于客户端(如浏览器)和服务器端默认采用的字符集可能不同所导致的。 ####...

    IE 浏览器在get请求下中文乱码的问题.zip

    4. **URL编码**:对于URL中的中文参数,需要使用`encodeURIComponent()`函数进行编码,将中文字符转换为%XX形式,确保浏览器能够安全地传输。 5. **编码转换**:如果服务器无法更改,可以考虑在客户端进行编码转换...

    URL传中文参数导致乱码的解决方案之encodeURI

    然而,需要注意的是,虽然容器(如Tomcat)在接收请求时会自动对URL进行解码,但是其使用的编码方式可能是不确定的,比如UTF-8、GBK或其他。如果这个编码方式与我们的应用编码不一致,就可能导致乱码问题。因此,...

Global site tag (gtag.js) - Google Analytics