关于URIEncoding设置规则

<!--[if !supportLists]-->1、<!--[endif]-->页面是UTF-8,文件编码是UTF-8,后台是

String test1 = request.getParameter("test1");

String test2 = new String(test1.getBytes("ISO8859-1"),"UTF-8");

参数正常传递到后台不乱码。不论后台是jsp还是servlet。不论jspform提交是get还是post

<!--[if !supportLists]-->2、<!--[endif]-->如果

JSP编码UTF-8情况,Tomcat6.0.30

 

Form get(同URL拼接参数的方式)

Form post

后台jsp

new String(test1.getBytes("ISO8859-1"),"UTF-8")

new String(test1.getBytes("ISO8859-1"),"UTF-8")

后台servlet

new String(test1.getBytes("ISO8859-1"),"UTF-8")

new String(test1.getBytes("ISO8859-1"),"UTF-8")

URIEncoding GBK

new String(test1.getBytes("GBK"),"UTF-8")

new String(test1.getBytes("ISO8859-1"),"UTF-8")

URIEncoding UTF-8

request.getParameter("test1")

new String(test1.getBytes("ISO8859-1"),"UTF-8")

URIEncoding 的作用相当于,在后台接到参数后做的new String(test1.getBytes("ISO8859-1"),"UTF-8")

生僻字在GBK范围内,即使页面编码是GBK不能直接在页面上写生僻字,但是表单还可以输入好提交。

页面是GBK编码:如果这个字在GBK范围内,你从ISO8859-1GBK再转UTF-8也是正常的。

POST方式下,页面是什么编码,后台就应该从ISO8859-1转成什么编码。不管URIEncoding 是啥。

GET方式下,没有URIEncoding 的时候,页面是什么编码就是ISO8859-1转成什么编码;如果URIEncoding 是编码***,那么后台就从***到页面编码,如果***和页面同编码,就不用转了。

JSP编码UTF-8情况,was7.0

猜你喜欢

转载自xiaoxinshome.iteye.com/blog/2284735
今日推荐