`
ollevere
  • 浏览: 261242 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

URL传递中文解决方案

阅读更多
 
//URL 传递中文的2种方法
//方法一:
String encodeUrl  = java.net.URLEncoder.encode("costBudgetsForm.orgName=投资银行总部/北京三部","UTF-8");
String enString = java.net.URLDecoder.decode(encodeUrl,"UTF-8");
System.out.println(enString);
		
//方法二:(适合SSH, web.xml拦截器UTF-8,页面UTF-8)
encodeUrl  = "costBudgetsForm.orgName=投资银行总部/北京三部"; //直接使用URL传递
String sString = new String(encodeUrl.getBytes("ISO-8859-1"), "UTF-8");
System.out.println(sString);
		
//方法三: 
encodeUrl  = java.net.URLEncoder.encode("costBudgetsForm.orgName=投资银行总部/北京三部","UTF-8");
String tranf = new String(encodeUrl.getBytes("ISO-8859-1"),"UTF-8");  
enString = java.net.URLDecoder.decode(tranf,"UTF-8");
System.out.println(enString);

  

普通乱码:

尝试:1、使用过滤器进行拦截所有请求,设置request,response 编码

         2、为了保证get数据采用UTF8编码,在TOMCAT web.xml 中进行了如下设置,  URIEncoding ,

<Connector port="8080" ...... URIEncoding="UTF-8"/>


这里指定了get时候的数据编码。但是,当使用IIS作为webserver转发servlet/jsp请求给Tomcat时候,这个设置却失效了。其实原因很简单:IIS是通过AJP协议,把请求转发到Tomcat监听的8009端口上的,所以这里针对8080的设置自然就无效了。正确的方法是进行下面的设置:

<Connector port="8009" enableLookups="false" redirectPort="8443"
debug="0" protocol="AJP/1.3" URIEncoding="UTF-8"/>

 

 

页面URL传递中文 终极解决方案:

 

页面进行2次encodeURI编码,进行2次URI编码的好处是不管浏览器用户在页面来设置编码,服务器只需一次URLencode转换成UTF-8即可。

params = encodeURI(encodeURI(params));

 

后台

String paramsTrans = new String(params.getBytes("ISO-8859-1"),"UTF-8");

params = java.net.URLDecoder.decode(paramsTrans , "UTF-8");

 

 

当然如果页面参数太多可以使用jquery-form提供的serialize()序列化:

参见:http://ollevere.iteye.com/blog/1554355    (jquery serialize传中文乱码解决方法)

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    ASP.NET中url传递中文的解决方案

    ASP.NET的字符编码问题真是搞得人头疼,其中的中文很容易产生各种乱码问题,而这些乱码归根结底都是因为使用...因为常常需要通过URL字符串在不同页面间传递参数时遇到中文,必须进行编码和解码,否则传递的参数不正确。

    asp.net下url传递中文的解决方案

    asp.net下url传递中文的解决方案

    url传递中文

    url传递中文的解决方案

    奇数个中文字符url传递乱码

    解决奇数个中文字符url传递乱码问题,做了好久才找到的解决方案!

    js 全选反选取消,url传递中文,防盗链,反射显示程序集,URLRewrite

    js 全选反选取消, ASP.NET中url传递中文的解决方案, C#中使用反射显示程序集的所有类型和属性, js怎么取表格中的某一行的值, SQL Server 查询分析器快捷键集合, URLRewrite能够对URL进行重写,失败的原因

    javascript通过url向jsp页面传递中文参数导致乱码解决方案

    javascript通过url向jsp页面传递中文参数乱码,一直都是从事jsp开发者比较烦心的是,于是本文介绍了一些解决方法,感兴趣的朋友可以了解下

    在JavaScript中通过URL传递汉字的方法

    利用JavaScript通过URL方式向后台代码传值是一种经常用到的手段,但在传递汉字时经常会出现字符不全或变成乱码的问题,其原因是由于客户端IE浏览器的编码方式为GB2312(简体中文版WINDOWS的默认设置),而后台的C#...

    解析:ClickOnce通过URL传递参数 XXX.application?a=1

    启用URL参数在解决方案资源管理器中右键点击你的ClickOnce工程,点击属性进入发布选项卡,点击“选项”按钮,在弹出的界面中选中“允许给应用程序传递URL参数”。 获取参数 下一步就是获取url里的参数值,因为Click...

    Url重写篇视频------本讲将通过实例比较ASP.NET下的三种典型URL重写方案

    本讲将通过实例比较ASP.NET下的三种典型URL重写方案——ISAPI重写(使用开源组件IIRF),ASP.NET2.0内置的urlMappings和基于自定义HTTPModule的URL重写(使用NBear.Web中的UrlRewriteModule实现),并探讨URL重写中...

    js获取url传值的方法

    本文实例讲述了js获取url传值的方法。...这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET 函数: [removed] function GetRequest() { var url = locati

    完美解决js传递参数中加号和&号自动改变的方法

    解决方案: 1 、改用post方法; 2 、在 js 里用 url = encodeURI(encodeURI(XXX)) ,后台再解码一次; 3 、传递参数的时候直接替换转义,或者直接写转义后的代码  data = “a + b”;  data = data.replace(/\+/...

    C#优化字符串操作

    保留2位有效小数及四舍五入 5.url传递中文的解决方案 6.把123456789转换为12-345-6789的3种方法 7.交换两个指定位置字符的4种方法 8.“%10”的妙用 9.输出21个AAAAAAAAAAAAAAAAAAAAA的巧妙做法

    asp.net中url地址传送中文参数时的两种解决方案

    在Web.comfig中配置 是一样的: ”gb2312″ responseEncoding=”gb2312″/&gt; 页面Header部分也都有 &lt;... charset=gb2312″ /&gt; 真是奇怪, 只好用了笨办法: 写参数: 代码如下: string strurl = PreUrl + “?...

    利用window.name跨域解决方案Demo.rar

    本Demo实现了一个来自不同服务器的前端页面集成方案,页面间通过window窗口...本方案从父页面到子页面数据传递采用url传参,从子页面到父页面数据传递采用了引入代理页面,window.name的跨页面共享,js函数回调等技术。

    小程序tab页无法传递参数的方法

    微信小程序tab页面不能传参解决方案: 1.设置全局变量,通过全局变量访问 2.小程序本地存储 小程序不支持tab页面传递queryString参数,无论是navigator,还是通过api跳转 遇到的问题如下: 小程序navigator组件默认不...

    ListView的View回收引起的checkbox状态改变监听等问题解决方案

    之前讲到了自定义Adapter传递给ListView时,因为ListView的View回收,需要注意当ListView列表项中包含有带有状态标识控件的问题。详情可见之前发的帖[url=自定义Adapter实现ListView带多选框等状态控件的注意事项 //...

    java8源码-java-vue-pdf:java通过vuessr动态生成pdf解决方案Itonlyneedsvue

    此项目已废弃,有更好更快更便捷的解决方案 移步 目前此项目demo正在完善中,已上传时序图 解决场景 使用java生成动态数据的pdf文件 页尾有截图,一目了然 方案优点 纯vue编写,避免繁杂且不直观的java api操作,...

    vue父组件向子组件(props)传递数据的方法

    随着Angularjs,React,Vue的流行组件式的开发方式成为另一种不错的解决方案。 最近就有一些小伙伴问我,vue组件之间是如何传递参数的?其实vue是有三种方式可以组件之间传递数据(props,组件通信,slot),这次就说...

Global site tag (gtag.js) - Google Analytics