为什么需要转码?
客户端向服务器发送请求的四种情况:1、URL方式直接访问;2、页面链接(属于get请求);3、表单get提交;4、表单post提交
1.url(url和页面链接):各大浏览器、各个操作系统对URL的URI、QueryString编码都可能存在不同.tomcat对URI的解码操作是首先获取Connector的解码集,
该配置在server.xml中,<Connector URIEncoding="utf-8" /> 如果没有定义则会采用默认编码ISO-8859-1来解析。
2,表单:发送请求时都是根据设置的charset进行编码,解码时,get方式根据设置的URIEncoding进行,post方式仍根据页面设置的charset.
jetty默认是utf-8.jetty与tomcat不同,不是在xml配置文件中修改,可以在Jvm参数中加入:Dorg.mortbay.util.URI.charset=字符编码@参考文章
如何转码?
iso-8859-1转utf-8
String args=new String(request.getParameter("args".getBytes("ISO8859-1"),"utf-8");
时间: 2024-09-30 12:30:35