Http网络通信f返回Header参数l乱码问题解决

       在Http网络通信中,乱码的出现一般是客户端与服务端编码方式不一致导致的。

  • 首先服务端和客户端编码为UTF-8

使用java编写的服务端一般是Tomcat,Tomcat默认的编码方式为ISO-8859-1,ISO-8859-1是不支持中文的。
解决办法一下两种:

  1. 更改Tomcat编码方式为UTF-8,更改server.xml
<Connector port="8080"protocol="HTTP/1.1"
              connectionTimeout="20000"
              redirectPort="8443"
              URIEncoding="UTF-8" />
  1. 客户端转码(以C#为例)
 ...
 string fileName = response.Headers["Content-Disposition"];//attachment;filename=FileName.txt
 ...
 byte[] byteArray = System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(fileName);
 fileName = System.Text.Encoding.UTF8.GetString(byteArray);

猜你喜欢

转载自blog.csdn.net/li_super/article/details/81061845
今日推荐