Power Automate/Postman下载CSV文件乱码问题求助
核心原因
�符号是编码解析不匹配或未处理响应压缩导致的典型错误——浏览器会自动完成解压、编码协商等操作,但Postman/Power Automate需要手动配置这些细节。
可尝试的修复步骤
处理响应压缩:
请求头包含Accept-Encoding: gzip, deflate, br,服务器会返回压缩后的内容。确保工具自动解压:- Postman:在设置中开启「Automatically decode response」,或检查响应头的
Content-Encoding,手动用对应工具解压(比如gzip解压)后再查看内容。 - Power Automate:HTTP操作中勾选「Enable automatic decompression」选项(若存在),或添加解压步骤处理二进制响应。
- Postman:在设置中开启「Automatically decode response」,或检查响应头的
添加
Accept-Charset请求头:
浏览器默认会发送编码协商头,但复制请求时可能遗漏。手动添加:Accept-Charset: UTF-8, iso-8859-1;q=0.9, windows-1252;q=0.8强制服务器返回指定编码(意大利语内容常用ISO-8859-1或Windows-1252)。
修正Postman的响应编码解析:
在Postman响应面板,点击「View」旁的编码下拉框,切换为ISO-8859-1或Windows-1252(Notepad++显示的ANSI在Windows系统通常对应Windows-1252),而非默认的UTF-8。核对服务器返回的
Content-Type头:
查看浏览器开发者工具的响应头,确认Content-Type是否带charset参数(比如text/csv; charset=iso-8859-1)。在Postman/Power Automate中,严格按照该charset解析响应内容。Power Automate二进制内容处理:
不要直接将HTTP响应转为文本,先保存为二进制文件;或用Compose操作指定编码转换:base64ToString(body('HTTP'), 'ISO-8859-1')替换
ISO-8859-1为服务器实际返回的编码。验证请求头完整性:
确认Postman中Cookie、Accept-Language等头完全匹配浏览器请求,服务器可能根据语言偏好或会话状态返回不同编码的内容。
为何相同请求结果不同?
浏览器会自动处理以下工具未默认执行的操作:
- 自动解压
gzip/deflate/br压缩的响应; - 发送默认的
Accept-Charset头进行编码协商; - 根据服务器返回的
Content-Type自动选择正确编码解析内容。
Postman/Power Automate需要手动配置这些行为才能完全模拟浏览器请求。
内容的提问来源于stack exchange,提问作者Jack

