您现在的位置是:主页 > news > 开封做网站/高端网站定制

开封做网站/高端网站定制

admin2025/6/27 15:53:06news

简介开封做网站,高端网站定制,单页网站做cpa,深圳商业网站建设哪家专业java get 编码/解码的处理方法GET方式访问URL时参数的编解码工作:编码/传输/解码基本过程:public static void main(String args[]){String tsptString”中文”;//1.编码(浏览器会按网页的编码方式进行编码)String tempStringURLEncoder.encode(tsptString,”GBK”);//2.传输Sy…

开封做网站,高端网站定制,单页网站做cpa,深圳商业网站建设哪家专业java get 编码/解码的处理方法GET方式访问URL时参数的编解码工作:编码/传输/解码基本过程:public static void main(String args[]){String tsptString”中文”;//1.编码(浏览器会按网页的编码方式进行编码)String tempStringURLEncoder.encode(tsptString,”GBK”);//2.传输Sy…

java get 编码/解码的处理方法

GET方式访问URL时参数的编解码工作:编码/传输/解码

基本过程:

public static void main(String args[]){

String tsptString=”中文”;

//1.编码(浏览器会按网页的编码方式进行编码)

String tempString=URLEncoder.encode(tsptString,”GBK”);

//2.传输

System.out.println(tempString);

//3.解码(由Tomcat容器按照默认编码方式自动解码)

String resultString=URLDecoder.decode(tempString,”ISO-8859-1”);

//查看

System.out.println(resultString);

}

上面的方式会因为编解码方式的不统一导致乱码,可以通过下面的方式来统一编码方式:

1.客户端指定网页编码

a)   页面指定GBK方式: submit.jsp教程 中 ,Servelet中Response.setContentType(“text/html; charset=GBK”);

b)   浏览器指定GBK方式:在页面上右击->编码->选择新编码->GBK(无法依靠用户为你的页面指定编码,但要预防用户通过这种方法改变你的编码方式

2.服务端改变编码

a)   改变Tomcat的默认编码方式:打开tomcat下的conf文件夹下的service.xml查找8080,添加 URIEncoding='GBK',如下: ,实例中此时第三步的默认编码方式就变成了GBK

b)   不使用TOMCAT的默认编码方式在服务器端处理参数,例如在Servlet中

protected void service(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {

String param=arg0.getParameter("param");

//UTF-8为指定的页面编码方式,ISO-8859-1为TOMCAT的默认解码方式(URIEncoding)

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

System.out.println(param);

//...

}

3.利用jS两次编码

String toTspt="中文";

//进行两次一次编码,使用js时 可以这样 var params="name="+URIEncode(URIEncode(valueOfName))+"&age="+...;

String tempString=URLEncoder.encode(URLEncoder.encode(toTspt, "UTF-8"), "UTF-8");

//传送,浏览器不会再进行编码,因为没有特殊字符

System.out.println(tempString);

//解析,这里不管TOMCAT默认的什么编码方式都可以正确解码(没有特殊字符)

tempString=URLDecoder.decode(tempString,"ISO-8859-1");

//获取结果

String resultString=URLDecoder.decode(tempString, "UTF-8");