movieName='风声';
playUrl='/movie/风声/风声.rm';
url="play.jsp?movieName="+movieName+"&playUrl="+playUrl
若按照上述的地址直接访问,则中文会变成乱码。必须使用encodeURI('风声')进行两次编码。如下:
url="play.jsp?movieName="+encodeURI(encodeURI(movieName))+"&playUrl="+encodeURI(encodeURI(playUrl))
服务器通过以下方式获取值:
movieName=URLDecoder.decode(movieName,"utf-8");
playUrl=URLDecoder.decode(playUrl,"utf-8");
==========================
首先如果不编码,那些非英文abc等字符会被浏览器按照网页当前的字符集进行编码传到服务器去, 而服务器则只会按照服务器配置的字符集编码(有默认的好像就是ISOxxxx)进行解码,所以如果网页的字符集和服务器字符集解码一致那么就不会出乱码!
但是往往对于我们来说是不一致的。所以一般情况会出现乱码, 所以就有人想到用encodeUri来进行编码再发送到服务器,但是要注意encodeUri来编码是以utf-8来进行编码的,而服务器对于url里面的非abc等字符进行解码几乎默认都不是utf-8
所以如果你encodeUri一次的话, 通过request.getParam...而得来的是被服务器以另外一种(一般是ISO...)编码解码得到的.所以通过utf-8编码过后 再通过ISO解码当然获得的是乱码, 即使你通过decode(xxx, 'utf-8')获取之后的也不对,因为这个过程是 utf-8编码 ---- iso解码 ----- utf-8解码,这个过程当然不对了哦!
而通过两次编码再通过两次解码为什么就对了呢, 她是这么一个过程 utf-8编码-utf-8编码 --- ISO解码 ----utf-8解码。
在这里要注意 因为通过第一次utf-8编码之后的都全是英文字符了,对于英文字符 utf-8编码 和ISO编码是一样的效果
所以上面的过程就相当于 utf-8编码-ISO编码 --- ISO解码 ----utf-8解码 这样一个过程是对称的当然最后会得到正确的结果了
分享到:
相关推荐
### get方式传参中文乱码问题的解决方案 在Web开发中,经常遇到GET请求传递中文参数时出现乱码的问题。这种现象通常出现在不同编码格式之间的转换过程中,导致浏览器或者服务器端解析参数时出现问题。本文将深入...
本篇文章将详细探讨“GET中文传参(解码)”这一主题,以及如何正确处理中文字符在URL中的传输。 首先,我们需要理解编码和解码的概念。编码是将可读的字符转换为二进制表示的过程,而解码则是将二进制数据还原为...
tomcat get提交中文乱码解决方案,修改tomcat server.xml 中以下为
java实现调用httpclient接口的类和方法,包括了get和post传参方式,简单易懂
1. **GET请求中的中文乱码**: 在GET请求中,参数通常被编码后附加在URL后面。Java的`URLEncoder.encode()`方法可以用来对参数进行编码,但默认使用的是ISO-8859-1编码,不支持中文。因此,我们需要明确指定为UTF-8...
在处理中文乱码问题时,Gson提供了一种优雅的解决方案。例如,以下代码展示了如何使用Gson将包含中文的Java对象转换为JSON字符串,以及如何从JSON字符串反序列化回对象: ```java import com.google.gson.Gson; ...
### json 中文乱码解决方案 在处理JSON数据时,经常会出现中文乱码的问题,尤其是在不同编码格式间进行转换时更为常见。本文将详细介绍如何解决JSON中的中文乱码问题,并提供几种简单实用的方法来帮助开发者避免这...
本文将深入探讨这些知识点,并提供相应的解决方案。 首先,URL编码是因URL(统一资源定位符)中不能包含某些特殊字符或非ASCII字符而产生的需求。在Web应用程序中,我们可能会在URL中传递参数,例如查询字符串。...
get 方法传参乱码是由于服务器默认按照 iso-8859-1 进行解码所致。解决方法是修改服务器对 uri 参数的默认值 server.xml 中,设置 URIEncoding=“UTF-8”或者逆向转码,先把数据通过 iso8859-1 还原成字节,然后再...
### vim中文乱码解决方案 #### 一、问题背景与概述 在使用Vim编辑器时,中文乱码问题是一个常见的现象,特别是在Fedora和Ubuntu等Linux发行版中更为突出。本文将详细介绍如何解决Vim中的中文乱码问题,并提供一些...
### 系统中文乱码解决方案 #### 一、引言 在软件开发过程中,中文乱码问题时常出现,尤其在数据库交互与前端展示时更为常见。本文将详细探讨解决中文乱码的方法,包括数据库编码设置、服务器配置、工程编码及程序...
### Java解决GET请求中文乱码问题详解 在Java Web开发中,经常遇到的一个问题是处理GET请求中的中文参数时出现乱码。这个问题主要是因为浏览器发送GET请求时,参数默认使用ISO-8859-1编码格式,而服务器端通常采用...
在进行Web开发时,我们经常会遇到Ajax GET请求发送中文参数时出现乱码的问题...在提供的压缩包文件`strtus-ajax-by-get-zh-garbled`中,可能包含了关于Struts框架下解决Ajax GET请求中文乱码的示例代码,可以参考学习。
在Linux环境中安装Oracle数据库并处理汉字乱码问题是一项常见的任务,尤其对于中文用户来说,确保数据库正确显示和处理汉字是至关重要的。以下是一份详细的步骤和解决方案,旨在帮助你克服这个挑战。 首先,我们...
总结,解决Spring MVC中GET请求中文乱码问题的关键在于确保从客户端到服务器再到客户端的整个链路中,字符编码的一致性和正确设置。通过调整配置、使用注解或自定义拦截器,可以有效地解决这个问题,确保中文数据的...
### jsp乱码解决方案 #### 一、引言 在Web开发中,特别是使用Java Server Pages (JSP)进行开发时,字符编码问题是一个经常遇到的技术难题。如果处理不当,很容易导致网页显示乱码,影响用户体验及数据的正确性。...
而网上另外也有资料如何处理中文编码,例如转码为utf-8,存能解决乱码,取又出现问题。本资源我重新整理,用unicode完美解决中文乱码问题。用法: 1.声明实例 IniFile iniFile = new IniFile(HttpContext....
"Android Retrofit 中文乱码问题... Android Retrofit 中文乱码问题的解决办法可以通过修改请求方式、参数类型、编码格式等来实现。通过正确地处理中文字符的编码,可以避免中文乱码问题的出现,提高数据传输的可靠性。
中文乱码解决方案 本文将详细介绍中文乱码问题的解决方案,并对IE6的“以UTF-8发送URL”选项设置对请求页面字符编码的影响进行分析。同时,本文也将讨论Tomcat容器的URI编码设置、浏览器的字符编码设置、过滤器的...
本主题聚焦于"boa服务器get/post请求中文乱码问题",并提及了sqlite3数据库处理中文乱码的情况。以下将详细介绍这两个方面的知识点。 1. Boa服务器与HTTP请求中文乱码: Boa服务器是一个轻量级的Web服务器,适用于...