关于java、jsp、servlet、ajax乱码问题

来源:互联网 发布:赫捷 大数据 精准医学 编辑:程序博客网 时间:2024/05/18 07:47

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

原创粉丝点击