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数组表示
浙公网安备 33010602011771号