java中URL参数中有中文值,传到服务端,在用request.getParameter()方法,得到的常常会是乱码,这将涉及到字符解码操作。

方法一:

http://xxx.do?ptname=’我是中国人’

在取URL传递中文的页面对字符进行解码:

String strPtname = request.getParameter("ptname");

strPtname = new String(strPtname.getBytes("ISO-885Array-1"), "UTF-8");

这种方式受具体应用环境限制,往往在应用部署环境发生改变时,还会出现中文乱码。

方法二:

URLDecoder和URLEncoder,可以在任何应用部署环境下通用

URLDecoder和URLEncoder它的作用主要是用于普通字符串和application/x-www-form-rulencodedMIME字符串之间的转换。

URLEncoder类包含一个encode(String s,Stringcharcter)静态方法,它可以将普通字符串转换成application/x-www-form-urlencodedMIME字符串

URLDecoder类包含一个decode(String s,Stringcharcter)静态方法,它可以将看上去乱码的特殊字符串转换成普通字符串

编码:URLEncoder(encode("包含中文的串"))

解码:java.net.URLDecoder.decode("需要解码的串","utf-8");

客户端
title=encodeURI(encodeURI("包含中文的串"));
url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;

在服务器端用java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8"),进行解码。

URLDecoder和URLEncoder必须成对使用,报异常加try catch可解决。

Java中url传递中文参数取值乱码的解决方法的更多相关文章

  1. 关于JAVA中URL传递中文参数的问题

    今天在调用一个接口时,需要传递一个中文参数,结果获取不到数据,原因就在于中文传参的编码问题. 问题来源:URL url= new URL("http://XXX?OrganName=司法厅& ...

  2. 关于JAVA中URL传递中文参数,取值是乱码的解决办法

    前几天看到有网友在问URLDecoder和URLEncoder方面的使用问题,突然想起,原来我刚遇到这两个类时,也觉得很神密,由此可以想想初学者的心情,于是便有了今天的这篇文章. 其实,这两个类的使用 ...

  3. php中url传递中文字符,特殊危险字符的解决方法

    php中的urldecode,base64_encode函数然后再结合自己写的替换函数来进行安全传递url中文字符,特殊危险字符. 需要在url中传递中文字符或是其它的html等特殊字符,似乎总会有各 ...

  4. JAVA 中URL链接中文参数乱码的若干处理方法

    方法一: http://xxx.do?ptname='我是中国人' String strPtname = request.getParameter("ptname"); strPt ...

  5. JS URL传递中文参数时出现乱码的处理

    在浏览器中显示的地址是这样的: 但是按F12调试的时候的地址却变化掉了: 这个肯定是是因为浏览器对url路径默认编码了.这个问题是在我们去取值的时候,得到的就是后面那一大串稀奇古怪的东西.得不到我们想 ...

  6. url 传递中文参数乱码问题的终极解决方法。

    估计很多人在做web开发的时候,都会碰到过url传递中文参数,有时候会出现乱码的问题,但有些项目或者环境,又不会有问题.当遇到乱码的时候,上网找了很多解决方案,比如: 页面设置它的编码方式,改成utf ...

  7. 通过URL传递中文参数的乱码处理

    环境:web.xml中配置了 <filter> <filter-name>encodingFilter</filter-name> <filter-class ...

  8. asp.net URL传递中文参数System.Web.HttpUtility.UrlEncode与Server.UrlEncode的区别

    asp.net URL传递中文参数System.Web.HttpUtility.UrlEncode与Server.UrlEncode的区别(一) HttpUtility.UrlEncode 方法: 对 ...

  9. URL传递中文参数,大坑一枚,Windows与Linux效果竟然不一致(两种解决方法)

    下午,计划2个小时搞定,个人官网第6次升级,就可以干点轻松的事了,结果,下午多搞了2个小时,晚上又搞了2个小时,才搞定. 最后一个世界难题是,URL传递中文参数. 问题大致是这么出现的:我为" ...

随机推荐

  1. 多核处理器基础SMP&AMP&BMP

    多核处理器也称片上多核处理器(Chip Multi-Processor,CMP). 1.多核处理器的流行 多核出现前,商业化处理器都致力于单核处理器的发展,其性能已经发挥到极致,仅仅提高单核芯片的速度 ...

  2. uploadify 上传文件出现HTTP 404错误

    今天在使用jquery.uploadify.js上传文件的时候,出现HTTP 404错误,此错误在上传较小文件时不会出现,在上传一个50M左右文件时出现此错误,经过测试和日志查看发现,根本没有进入后台 ...

  3. js异步脚本

    1.延迟脚本 HTML4.01为<script>标签定义了defer属性,为了表明脚本在执行时不会影响页面的构造.也就是说,脚本会在整个页面都解析完毕后再运行.因此在<script& ...

  4. 【pyhton】成员资格运算符

    >>> name = '小甲鱼' >>> '鱼' in name True >>> '肥鱼' in name False 来自小甲鱼的课后习题

  5. CPU/寄存器/内存

    因为要了解多线程,自然少不了一些硬件知识的科普,我没有系统学习过硬件知识,仅仅是从书上以及网络上看来的,如果有错误请指出来. CPU,全名Central Processing Unit(中央处理器). ...

  6. iOS - 应用程序国际化

    开发的移动应用更希望获取更多用户,走向世界,这就需要应用国际化,国际化其实就是多语言.这篇文章介绍Xcode4.5以后的国际化,包括应用名国际化和应用内容国际化.如果是Xcode4.5之前版本请参考. ...

  7. 第 15 章 组合模式【Composite Pattern】

    以下内容出自:<<24种设计模式介绍与6大设计原则>> 大家在上学的时候应该都学过“数据结构”这门课程吧,还记得其中有一节叫“二叉树”吧,我们上 学那会儿这一章节是必考内容,左 ...

  8. 转:十八、java中this的用法

    http://blog.csdn.net/liujun13579/article/details/7732443 我知道很多朋友都和我一样:在JAVA程序中似乎经常见到“this”,自己也偶尔用到它, ...

  9. 【HDOJ】2473 Junk-Mail Filter

    并查集删除结点,方法是构建虚拟点,做映射. #include <stdio.h> #include <string.h> #define MAXNUM 1000050 int ...

  10. linux字符图形界面

    /etc/inittab 1)  字符界面标识: id:3:initdefault: 2)  图形界面标识: id:5:initdefault:   [root@ora9i ~]# vi /etc/i ...