1.以POST方法提交的表单数据中有中文字符:
和POST提交有关:JSP页面中的contentType中的charset属性、web容器接受参数时的解码、程序中
的解码方式。
发送:表单参数值会通过request body发送给服务器,此时网页会根据contentType中的charset属性
对参数进行编码(如:utf8),然后发送个web容器。
web容器接受:web容器采用一定的解码方式接受客户端发送过来的数据,在tomcat中默认时ISO-885
9-1。
程序中解码方式:如果不产生乱码,我们必须将服务器接受的ISO-8859-1的编码还原为浏览器中的编
码。tomact中,我们需要将ISO-8859-1解码为和浏览器发送时一样的编码。
整个过程为:浏览器(如:gbk)-->web容器(如:tomcat,使用ISO-8859-1接受)-->程序中将
ISO-8859-1转换为gbk,这样就不会有乱码了。
2.以GET方式提交的表单中含有中文字符:
使用GET方式提交时,表单会作为url的一部分进行提交,浏览器会对url encode,然后发送给服务器
对于中文IE,对于中文浏览器,编码一般为UTF-8或GBK(不太确定)。
和GET提交有关:浏览器URL编码(不知道怎么设置)、web容器接受时解码()、程序中的解码方式,
此外还有两个参数,就时server.XML中的URIEncoding和useBodyEncodingForURI