postman中文乱码的根本原因是响应体实际编码与解析编码不一致,需同时设置content-type和accept为application/json;charset=utf-8,强制postman用utf-8解析响应,并验证服务端响应头是否含charset=utf-8。

Postman测试接口时返回中文变成问号、方块或一堆乱码字符,根本原因是响应体的实际编码与Postman解析时采用的编码不一致——不是没设UTF-8,而是某个环节漏了声明或强制覆盖。
检查并修正请求头中的Content-Type与Accept
第一步:打开Postman当前请求,在Headers标签页中添加或修改两行:
Content-Type → application/json;charset=UTF-8
Accept → application/json;charset=UTF-8
这两项必须同时存在且值完全一致。只设Content-Type而忽略Accept,某些Spring Boot服务(尤其启用了严格媒体类型匹配时)会降级响应编码;反之,只设Accept却不声明Content-Type,Postman可能误判请求体编码,导致服务端反向解析出错。注意:value中“charset=UTF-8”必须紧贴分号后书写,中间不能有空格,写成“charset= UTF-8”或“charset=UTF-8 ”都会失效。
强制Postman统一用UTF-8解析响应
点击右上角Settings → General → 找到“Response language encoding”选项 → 选择“UTF-8”。【务必勾选下方“Force UTF-8 encoding for responses”】
这一步跳过自动编码探测逻辑,直接按UTF-8解码所有响应体。若服务端实际返回GBK编码数据,此设置会导致更严重乱码——但绝大多数现代API都应返回UTF-8,因此这是最安全的默认开关。
Postman Mac版是一款专为macOS设计的API开发与测试工具,凭借简洁的界面和强大的功能,深受开发者喜爱。它支持发送各种HTTP请求(GET、POST、PUT等),轻松管理接口集合、环境变量和模拟服务器。Mac用户可享受原生性能、快捷键优化及与系统无缝集成的体验,适用于接口调试、自动化测试和文档生成。无论是个人项目还是团队协作,Postman for Mac都能提升API开发效率,是ma
通过环境变量全局生效
方法一:点击右上角“Manage Environments” → “Add” → KEY填POSTMAN_SET_CHARSET,VALUE填utf-8 → Save。
方法二:在当前集合或请求的“Variables”面板中,切换到“Environment Variables”页签,新增同名变量。
该变量优先级高于界面设置,一旦启用,所有使用该环境的请求都将强制采用utf-8解码。注意:变量名必须全大写,VALUE必须小写utf-8,写成UTF-8或Utf-8均无效。
验证服务端响应头是否真正携带charset
第一步:发送请求后,点开Response下方的“Headers”标签页。
第二步:查找Content-Type字段值,确认其包含;charset=UTF-8(例如:Content-Type: application/json;charset=UTF-8)。
第三步:若缺失charset,说明问题不在Postman,而在服务端代码。Spring Boot用户需检查是否配置了server.servlet.encoding.force=true,或控制器是否显式设置了MediaType.APPLICATION_JSON_UTF8;Java Servlet用户需在response.setContentType("application/json;charset=UTF-8")中补全charset部分。没有这个响应头,Postman只能靠猜,而猜错就是乱码。










