我正在尝试使用 https URL 上的 GET 请求从网站 (https://www.stocknet.fr/accueil.asp) 获取 CSV 文件。我通过 Postman 得到的回复是这样的:
Type;Groupe Acc�s;Code;EOTP autoris�s;Familles EOTP autoris�es;Nom;Pr�nom;Adresse Mail;Agences autoris�es;D�p�ts autoris�s;Date cr�ation;Fournisseurs autoris�s;Classes autoris�es;Familles article
但是当直接访问 URL 时,我的浏览器会自动下载该文件,然后我使用正确的编码在 Windows 上打开它:
Type;Groupe Accès;Code;EOTP autorisés;Familles EOTP autorisées;Nom;Prénom;Adresse Mail;Agences autorisées;Dépôts autorisés;Date création;Fournisseurs autorisés;Classes autorisées;Familles article
当我检查网站 HTML 时,我可以看到标签 <meta charset="ISO-8859-1" />
我尝试使用这样的标题:
Accept-Charset: ISO-8859-1
Accept-Charset: UTF-8
Content-Type: text/csv; charset=ISO-8859-1
Content-Type: text/csv; charset=UTF-8
Content-Encoding: gzip
Content-Encoding: compress
Content-Encoding: deflate
Content-Encoding: identity
Content-Encoding: br
似乎没有任何东西以正确的编码返回响应。
知道我做错了什么吗?请注意,无论我尝试获取网站的哪个页面,我都会得到错误的编码。它不仅适用于 CSV 文件。
答案 0 :(得分:1)
服务器返回 iso-8859-1 中的内容并告诉您它是 iso-8859-1。您不会说服服务器返回任何其他内容。您的 Web 浏览器包含用于转换编码的代码。如果您希望内容采用不同的编码,则必须自己进行转换。
有关如何执行此操作的方法,请参阅: Best way to convert text files between character sets?