java的web开发中URLEncoder.encode方法

java的web开发中URLEncoder.encode方法一:我们先看2个编码的情况Stringname=java.net.URLEncoder.encode(“测试”,”UTF-8″);System.out.println(name);name=java.net.URLEncoder.encode(name,”UTF-8″);System.o…

大家好,又见面了,我是你们的朋友全栈君。

一: 我们先看2个编码的情况

            String name=java.net.URLEncoder.encode(“测试”, “UTF-8”);
            System.out.println(name);
            name=java.net.URLEncoder.encode(name,”UTF-8″);
            System.out.println(name);
            name=java.net.URLDecoder.decode(name, “UTF-8”);
            System.out.println(name);
            System.out.println(java.net.URLDecoder.decode(name, “UTF-8”));

输出结果是
            %E6%B5%8B%E8%AF%95
            %25E6%25B5%258B%25E8%25AF%2595
            %E6%B5%8B%E8%AF%95
            测试

二; 我们来看编码一次,提交给服务器的结果

我们吧“测试”编码一次的字符串%E6%B5%8B%E8%AF%95  ,提交,服务器端用request.getParameter(“name”)的到参数,然后我们解码

System.out.println(java.net.URLDecoder.decode(name, “UTF-8”));

我们发现得到的结果 ???è?  显示乱码。

因为在request.getParameter(“name”)之前会自动做一次解码的工作,而且是默认的ISO-8859-1,相当于调用了一次java.net.URLDecoder.decode(name, “ISO-8859-1”)

所以我们再用URLDecoder.decode(name, “UTF-8”)就是乱码了。

三: 我们在看编码2次,提交给服务器的结果

编码2次的字符串是%25E6%25B5%258B%25E8%25AF%2595 ,服务器端用request.getParameter(“name”)的到参数,自动按ISO-8859-1解码得到的串是%E6%B5%8B%E8%AF%95  ,也就是编码一次得到的字符串。

然后,我们在System.out.println(java.net.URLDecoder.decode(name, “UTF-8”));解码输出,得到的结果就是 “测试” 2个汉字。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148030.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 你还在认为 Java 是免费的吗[通俗易懂]

    你还在认为 Java 是免费的吗[通俗易懂]在收购了Sun公司的六年后,Oracle正在大规模的加大对违反其许可证的Java客户的审查力度。越来越多的Oracle客户和合作伙伴被拉里·埃里森的团队约谈,声称他们没有遵守Java的规矩。Oracle在2010年 收购了SunMicrosystems公司 ,知情人士透露现在它的许可证管理服务(LMS)正在到处追缴付款。该数据库巨头公司目前已经在全球

  • listlength函数头文件_length函数

    listlength函数头文件_length函数length函数系统默认用户浏览8778请教MySQL高手:“length()”函数与“char_length()”函数的区别是什么?高手,您好:小弟的提问如题。希望高手能够为小弟举出一个能够展示length()函数与char_length()函数区别的例子。并且配合两个函数的作用机理,为小弟做一下这两个函数区别的讲解。谢谢…高手,您好:小弟的提问如题。希望高手能够为小弟举出一个能够展示le…

  • 什么是变限积分求导公式_积分上限函数求导法则

    什么是变限积分求导公式_积分上限函数求导法则自己理解:当积分上限为被积函数的自变量时,变限积分在某一点的导数等于被积分函数在这一点的值,就是说积分这一点的增量为被积分函数在这一点的值乘以自变量增量区间大小,求导求出来的就是这一点的导数即为被积分

  • mysql官方监控工具_mysql数据库监控

    mysql官方监控工具_mysql数据库监控spy.properties可以直接到http://my.oschina.net/zh119893/blog/272545复制.P6Spy监控JDBC详细配置说明http://blog.csdn.net/u010280007/article/details/88131401、解压出p6spy.jar和spy.properties两个文件2、将p6spy.jar放入应用程序的WEB-INF…

  • siamFC_silvahound

    siamFC_silvahound一SiamFC++网络结构及处理流程如下:注意大多数算法对于分类损失都采用交叉熵损失,而SiamFC++在分类分支中计算cls_score与center-nessscore采用了不同的损失函数,cls_score采用focalloss,这样做是为了缓解正负样本不均衡问题;center-nessscore则采用交叉熵loss。最终用这两部分对应元素相乘得到的结果得到更加合理的分类结果,center_ness的作用就是对每一个正样本位置施加权重,离中心进的权重高,离中心远的权重低使得分类更加合

  • 实用的谋生技能_unity给人物模型加动作

    实用的谋生技能_unity给人物模型加动作Unity小科普老规矩,先介绍一下Unity的科普小知识:Unity是实时3D互动内容创作和运营平台。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助Unity将创意变成现实。Unity平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。也可以简单把Unity理解为一个游戏引擎,可以用来专业制作游戏!…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号