get-post乱码

   get 乱码
  1 如果通过是get方法-- 请求, 参数会通过url路径 传到服务器,在传到服务器的过程中,已经用iso-8859-1进行编码,服务器接受的数据已经是通过iso-8859-1编码编好的数据码。
  URL路径 encode的字符(通过浏览器路径以参数的方式传递后台)一般都是非ASCII码字,数据到了服务器之后,首先服务器会先用iso-8859-1进行解码,服务器获取的数据都是ASCII范围内的请求头字符,
  其中请求URL里面带有参数数据,如果是中卫或特殊字符(不是ASCII码字),那么encode后的参数以(编码规则中的十六进制数)通过
 
 

  解决方法  一

get问题

  修改tomcat的配置文件server.xml:
   <Connector URIEncoding="UTF-8"
     port="8080"   maxHttpHeaderSize="8192"
     maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    connectionTimeout="20000" disableUploadTimeout="true" />
    二
    byte [] bs = name.getBytes("ISO8859-1");                                            

     name = new String(bs,"UTF-8");

post


 response.setCharacterEncoding("utf-8");
 response.setContentType("text/html;charset=utf-8");

         

页面设置 编码 和读码

          1、pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码。  就是 页面数据通过这个设置    进行编码

          2   contentType="text/html;charset=UTF-8"的作用是指定对服务器响应进行重新编码的编码。 这个是 服务器相应的数据 我以什么解码 来读取数据


猜你喜欢

转载自blog.csdn.net/qq_29257691/article/details/51505461