java的web开发中de⽅法
⼀:我们先看2个编码的情况
String name=de("测试", "UTF-8");
System.out.println(name);
name=de(name,"UTF-8");
System.out.println(name);
name=java.URLDecoder.decode(name, "UTF-8");
System.out.println(name);url编码处理
System.out.println(java.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 ,提交,服务器端⽤Parameter("name")的到参数,然后我们解码
System.out.println(java.URLDecoder.decode(name, "UTF-8"));
我们发现得到的结果 è? 显⽰乱码。
因为在Parameter("name")之前会⾃动做⼀次解码的⼯作,⽽且是默认的ISO-8859-1,相当于调⽤了⼀次
java.URLDecoder.decode(name, "ISO-8859-1")
所以我们再⽤URLDecoder.decode(name, "UTF-8")就是乱码了。
三:我们在看编码2次,提交给服务器的结果
编码2次的字符串是%25E6%25B5%258B%25E8%25AF%2595 ,服务器端⽤Parameter("name")的到参数,⾃动按ISO-8859-1解码得到的串是%E6%B5%8B%E8%AF%95 ,也就是编码⼀次得到的字符串。
然后,我们在System.out.println(java.URLDecoder.decode(name, "UTF-8"));解码输出,得到的结果就是 “测试” 2个汉字。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论