resttemplate返回值乱码解决方案
MultiValueMap<String, Object> obj = new LinkedMultiValueMap<>();
obj.add("searchContent",searchContent);
obj.add("pageNum", "0"); // 分页页码
obj.add("pageSize","10");
RestTemplate restTemplate = new RestTemplate();
String message = restTemplate.postForObject("http://192.168.20.18:8601/bidding/bid/search/searcheV2", obj, String.class);
String utf8message = new String(message.getBytes("ISO-8859-1"),"UTF-8");
网上的方法
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
我这里StringHttpMessageConverter不能传参,可能是版本问题,我的解决方案是先用iso反编码再用utf8编码
String.getBytes(Stringdecode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如:
byte[] b_gbk = "中".getBytes("GBK");
byte[] b_utf8 = "中".getBytes("UTF-8");
byte[] b_iso88591 = "中".getBytes("ISO8859-1");
将分别返回"中"这个汉字在GBK、UTF-8和ISO8859-1编码下的byte数组表示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~